@alfadocs/ui-kit-debug 1.10.1 → 1.12.4

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 (213) hide show
  1. package/dist/_chunks/{actions-cell-renderer-xfSYiTXQ.js → actions-cell-renderer-BCEjn3-f.js} +2 -2
  2. package/dist/_chunks/{actions-cell-renderer-xfSYiTXQ.js.map → actions-cell-renderer-BCEjn3-f.js.map} +1 -1
  3. package/dist/_chunks/{anamnesis-summary-rows-d44s_whc.js → anamnesis-summary-rows-BfhxWPO3.js} +1421 -1418
  4. package/dist/_chunks/anamnesis-summary-rows-BfhxWPO3.js.map +1 -0
  5. package/dist/_chunks/appointment-card-Dzr3GeVz.js.map +1 -1
  6. package/dist/_chunks/appointment-timeline-DCn0Jx55.js +403 -0
  7. package/dist/_chunks/appointment-timeline-DCn0Jx55.js.map +1 -0
  8. package/dist/_chunks/{balance-badge-cell-C_Qz76x7.js → balance-badge-cell-BrlikHfT.js} +317 -290
  9. package/dist/_chunks/balance-badge-cell-BrlikHfT.js.map +1 -0
  10. package/dist/_chunks/booking-CBHKdsZl.js +2906 -0
  11. package/dist/_chunks/booking-CBHKdsZl.js.map +1 -0
  12. package/dist/_chunks/{chart-Bkr1Sh4o.js → chart-C6eHTxkO.js} +2 -2
  13. package/dist/_chunks/{chart-Bkr1Sh4o.js.map → chart-C6eHTxkO.js.map} +1 -1
  14. package/dist/_chunks/{contact-profile-card-CE9OJKcl.js → contact-profile-card-BMIBr5s9.js} +104 -125
  15. package/dist/_chunks/contact-profile-card-BMIBr5s9.js.map +1 -0
  16. package/dist/_chunks/{control-room-rail-Cj2iX9h_.js → control-room-rail-iO_BCaq1.js} +2 -2
  17. package/dist/_chunks/{control-room-rail-Cj2iX9h_.js.map → control-room-rail-iO_BCaq1.js.map} +1 -1
  18. package/dist/_chunks/{editable-currency-cell-renderer-zLf_bXvL.js → editable-currency-cell-renderer-B7TVZ5ZJ.js} +2 -2
  19. package/dist/_chunks/{editable-currency-cell-renderer-zLf_bXvL.js.map → editable-currency-cell-renderer-B7TVZ5ZJ.js.map} +1 -1
  20. package/dist/_chunks/{face-scheme-BfDi4YkW.js → face-scheme-CZaKm6fG.js} +2 -2
  21. package/dist/_chunks/{face-scheme-BfDi4YkW.js.map → face-scheme-CZaKm6fG.js.map} +1 -1
  22. package/dist/_chunks/{file-manager-Df6hyUYg.js → file-manager-Moc7sUFj.js} +3 -3
  23. package/dist/_chunks/{file-manager-Df6hyUYg.js.map → file-manager-Moc7sUFj.js.map} +1 -1
  24. package/dist/_chunks/format-price-DNqXPa_q.js +61 -0
  25. package/dist/_chunks/format-price-DNqXPa_q.js.map +1 -0
  26. package/dist/_chunks/{header-settings-CVC_davE.js → header-settings-J-ZCAfir.js} +2 -2
  27. package/dist/_chunks/{header-settings-CVC_davE.js.map → header-settings-J-ZCAfir.js.map} +1 -1
  28. package/dist/_chunks/{icon-button-group-D6SVMteH.js → icon-button-group-VCCod3Hz.js} +154 -145
  29. package/dist/_chunks/icon-button-group-VCCod3Hz.js.map +1 -0
  30. package/dist/_chunks/{link-cell-renderer-Cp2MSlJl.js → link-cell-renderer-CenJx-_7.js} +197 -181
  31. package/dist/_chunks/link-cell-renderer-CenJx-_7.js.map +1 -0
  32. package/dist/_chunks/{marketplace-app-shell-Chfdia7m.js → marketplace-app-shell-DDQXQ8hX.js} +2 -2
  33. package/dist/_chunks/{marketplace-app-shell-Chfdia7m.js.map → marketplace-app-shell-DDQXQ8hX.js.map} +1 -1
  34. package/dist/_chunks/{notes-panel-e9cJWVRg.js → notes-panel-CymneXtl.js} +93 -91
  35. package/dist/_chunks/notes-panel-CymneXtl.js.map +1 -0
  36. package/dist/_chunks/{practice-results-BEsAdW-B.js → practice-results-D7ygCj_W.js} +333 -291
  37. package/dist/_chunks/practice-results-D7ygCj_W.js.map +1 -0
  38. package/dist/_chunks/{signature-request-CW30B77U.js → signature-request-DVDTKLjM.js} +2 -2
  39. package/dist/_chunks/{signature-request-CW30B77U.js.map → signature-request-DVDTKLjM.js.map} +1 -1
  40. package/dist/_chunks/{stepper-accordion-BeVMZPuG.js → stepper-accordion-DmVykr5F.js} +91 -88
  41. package/dist/_chunks/stepper-accordion-DmVykr5F.js.map +1 -0
  42. package/dist/_chunks/{theme-toggle-DuMhQNFS.js → theme-toggle-uEwoKjl3.js} +2 -2
  43. package/dist/_chunks/{theme-toggle-DuMhQNFS.js.map → theme-toggle-uEwoKjl3.js.map} +1 -1
  44. package/dist/_chunks/{tool-rail-CHyUmulN.js → tool-rail-8Scslq3X.js} +2 -2
  45. package/dist/_chunks/tool-rail-8Scslq3X.js.map +1 -0
  46. package/dist/_chunks/{whatsapp-button-Ca9towA4.js → whatsapp-button-CuFIHJzG.js} +27 -19
  47. package/dist/_chunks/{whatsapp-button-Ca9towA4.js.map → whatsapp-button-CuFIHJzG.js.map} +1 -1
  48. package/dist/agent-catalog.json +12 -5
  49. package/dist/agent-i18n/en.json +4 -3
  50. package/dist/components/_shared/format-price.d.ts +21 -0
  51. package/dist/components/_shared/format-price.d.ts.map +1 -0
  52. package/dist/components/_shared/index.d.ts +1 -0
  53. package/dist/components/_shared/index.d.ts.map +1 -1
  54. package/dist/components/_shared/stepper.d.ts +28 -2
  55. package/dist/components/_shared/stepper.d.ts.map +1 -1
  56. package/dist/components/appointment-card/appointment-card.d.ts +1 -1
  57. package/dist/components/appointment-card/appointment-card.d.ts.map +1 -1
  58. package/dist/components/appointment-timeline/appointment-timeline.agent.d.ts.map +1 -1
  59. package/dist/components/appointment-timeline/appointment-timeline.d.ts +8 -0
  60. package/dist/components/appointment-timeline/appointment-timeline.d.ts.map +1 -1
  61. package/dist/components/appointment-timeline/index.js +1 -1
  62. package/dist/components/booking/booking-types.d.ts +15 -2
  63. package/dist/components/booking/booking-types.d.ts.map +1 -1
  64. package/dist/components/booking/booking.agent.d.ts.map +1 -1
  65. package/dist/components/booking/booking.d.ts.map +1 -1
  66. package/dist/components/booking/index.js +1 -1
  67. package/dist/components/chart/index.js +1 -1
  68. package/dist/components/contact-profile-card/contact-profile-card.d.ts.map +1 -1
  69. package/dist/components/contact-profile-card/index.js +1 -1
  70. package/dist/components/control-room-rail/index.js +1 -1
  71. package/dist/components/data-table/filters/date-range-filter.d.ts +22 -0
  72. package/dist/components/data-table/filters/date-range-filter.d.ts.map +1 -1
  73. package/dist/components/data-table/index.js +3 -3
  74. package/dist/components/face-scheme/index.js +1 -1
  75. package/dist/components/file-manager/index.js +1 -1
  76. package/dist/components/header-settings/index.js +1 -1
  77. package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -1
  78. package/dist/components/icon-button-group/index.js +1 -1
  79. package/dist/components/notes-panel/index.js +1 -1
  80. package/dist/components/notes-panel/notes-panel.agent.d.ts.map +1 -1
  81. package/dist/components/notes-panel/notes-panel.d.ts +6 -0
  82. package/dist/components/notes-panel/notes-panel.d.ts.map +1 -1
  83. package/dist/components/patient-table/columns.d.ts.map +1 -1
  84. package/dist/components/patient-table/index.js +1 -1
  85. package/dist/components/practice-results/index.js +1 -1
  86. package/dist/components/practice-results/practice-results.d.ts +18 -0
  87. package/dist/components/practice-results/practice-results.d.ts.map +1 -1
  88. package/dist/components/stepper-accordion/index.js +1 -1
  89. package/dist/components/stepper-accordion/stepper-accordion.d.ts.map +1 -1
  90. package/dist/components/theme-toggle/index.js +1 -1
  91. package/dist/components/tool-rail/index.js +1 -1
  92. package/dist/components/tool-rail/tool-rail.d.ts +1 -1
  93. package/dist/components/tool-rail/tool-rail.d.ts.map +1 -1
  94. package/dist/components/whatsapp-button/index.js +1 -1
  95. package/dist/components/whatsapp-button/whatsapp-button.d.ts.map +1 -1
  96. package/dist/host-compat.css +7 -1
  97. package/dist/i18n/locales/ar.d.ts +4 -0
  98. package/dist/i18n/locales/ar.d.ts.map +1 -1
  99. package/dist/i18n/locales/ar.js +5 -1
  100. package/dist/i18n/locales/ar.js.map +1 -1
  101. package/dist/i18n/locales/de.d.ts +5 -1
  102. package/dist/i18n/locales/de.d.ts.map +1 -1
  103. package/dist/i18n/locales/de.js +6 -2
  104. package/dist/i18n/locales/de.js.map +1 -1
  105. package/dist/i18n/locales/el.d.ts +4 -0
  106. package/dist/i18n/locales/el.d.ts.map +1 -1
  107. package/dist/i18n/locales/el.js +5 -1
  108. package/dist/i18n/locales/el.js.map +1 -1
  109. package/dist/i18n/locales/en.d.ts +4 -0
  110. package/dist/i18n/locales/en.d.ts.map +1 -1
  111. package/dist/i18n/locales/en.js +5 -1
  112. package/dist/i18n/locales/en.js.map +1 -1
  113. package/dist/i18n/locales/es.d.ts +5 -1
  114. package/dist/i18n/locales/es.d.ts.map +1 -1
  115. package/dist/i18n/locales/es.js +6 -2
  116. package/dist/i18n/locales/es.js.map +1 -1
  117. package/dist/i18n/locales/fr.d.ts +5 -1
  118. package/dist/i18n/locales/fr.d.ts.map +1 -1
  119. package/dist/i18n/locales/fr.js +6 -2
  120. package/dist/i18n/locales/fr.js.map +1 -1
  121. package/dist/i18n/locales/hi.d.ts +4 -0
  122. package/dist/i18n/locales/hi.d.ts.map +1 -1
  123. package/dist/i18n/locales/hi.js +5 -1
  124. package/dist/i18n/locales/hi.js.map +1 -1
  125. package/dist/i18n/locales/it.d.ts +4 -0
  126. package/dist/i18n/locales/it.d.ts.map +1 -1
  127. package/dist/i18n/locales/it.js +5 -1
  128. package/dist/i18n/locales/it.js.map +1 -1
  129. package/dist/i18n/locales/ja.d.ts +4 -0
  130. package/dist/i18n/locales/ja.d.ts.map +1 -1
  131. package/dist/i18n/locales/ja.js +5 -1
  132. package/dist/i18n/locales/ja.js.map +1 -1
  133. package/dist/i18n/locales/nl.d.ts +5 -1
  134. package/dist/i18n/locales/nl.d.ts.map +1 -1
  135. package/dist/i18n/locales/nl.js +6 -2
  136. package/dist/i18n/locales/nl.js.map +1 -1
  137. package/dist/i18n/locales/pl.d.ts +4 -0
  138. package/dist/i18n/locales/pl.d.ts.map +1 -1
  139. package/dist/i18n/locales/pl.js +5 -1
  140. package/dist/i18n/locales/pl.js.map +1 -1
  141. package/dist/i18n/locales/pt.d.ts +5 -1
  142. package/dist/i18n/locales/pt.d.ts.map +1 -1
  143. package/dist/i18n/locales/pt.js +6 -2
  144. package/dist/i18n/locales/pt.js.map +1 -1
  145. package/dist/i18n/locales/ro.d.ts +4 -0
  146. package/dist/i18n/locales/ro.d.ts.map +1 -1
  147. package/dist/i18n/locales/ro.js +5 -1
  148. package/dist/i18n/locales/ro.js.map +1 -1
  149. package/dist/i18n/locales/ru.d.ts +4 -0
  150. package/dist/i18n/locales/ru.d.ts.map +1 -1
  151. package/dist/i18n/locales/ru.js +5 -1
  152. package/dist/i18n/locales/ru.js.map +1 -1
  153. package/dist/i18n/locales/sq.d.ts +4 -0
  154. package/dist/i18n/locales/sq.d.ts.map +1 -1
  155. package/dist/i18n/locales/sq.js +5 -1
  156. package/dist/i18n/locales/sq.js.map +1 -1
  157. package/dist/i18n/locales/sv.d.ts +4 -0
  158. package/dist/i18n/locales/sv.d.ts.map +1 -1
  159. package/dist/i18n/locales/sv.js +5 -1
  160. package/dist/i18n/locales/sv.js.map +1 -1
  161. package/dist/i18n/locales/tr.d.ts +4 -0
  162. package/dist/i18n/locales/tr.d.ts.map +1 -1
  163. package/dist/i18n/locales/tr.js +5 -1
  164. package/dist/i18n/locales/tr.js.map +1 -1
  165. package/dist/i18n/locales/zh.d.ts +4 -0
  166. package/dist/i18n/locales/zh.d.ts.map +1 -1
  167. package/dist/i18n/locales/zh.js +5 -1
  168. package/dist/i18n/locales/zh.js.map +1 -1
  169. package/dist/index.js +20 -20
  170. package/dist/locales/ar.json +5 -1
  171. package/dist/locales/de.json +6 -2
  172. package/dist/locales/el.json +5 -1
  173. package/dist/locales/en.json +5 -1
  174. package/dist/locales/es.json +6 -2
  175. package/dist/locales/fr.json +6 -2
  176. package/dist/locales/hi.json +5 -1
  177. package/dist/locales/it.json +5 -1
  178. package/dist/locales/ja.json +5 -1
  179. package/dist/locales/nl.json +6 -2
  180. package/dist/locales/pl.json +5 -1
  181. package/dist/locales/pt.json +6 -2
  182. package/dist/locales/ro.json +5 -1
  183. package/dist/locales/ru.json +5 -1
  184. package/dist/locales/sq.json +5 -1
  185. package/dist/locales/sv.json +5 -1
  186. package/dist/locales/tr.json +5 -1
  187. package/dist/locales/zh.json +5 -1
  188. package/dist/patterns/anamnesis/anamnesis-catalogue.d.ts.map +1 -1
  189. package/dist/patterns/anamnesis/anamnesis-compile.d.ts.map +1 -1
  190. package/dist/patterns/anamnesis/anamnesis-config.d.ts +18 -7
  191. package/dist/patterns/anamnesis/anamnesis-config.d.ts.map +1 -1
  192. package/dist/patterns/anamnesis/anamnesis-types.d.ts +8 -0
  193. package/dist/patterns/anamnesis/anamnesis-types.d.ts.map +1 -1
  194. package/dist/patterns/anamnesis/index.js +1 -1
  195. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  196. package/dist/patterns/signature-request/index.js +1 -1
  197. package/dist/tokens.css +1 -1
  198. package/package.json +1 -1
  199. package/dist/_chunks/anamnesis-summary-rows-d44s_whc.js.map +0 -1
  200. package/dist/_chunks/appointment-timeline-0mwtpErq.js +0 -388
  201. package/dist/_chunks/appointment-timeline-0mwtpErq.js.map +0 -1
  202. package/dist/_chunks/balance-badge-cell-C_Qz76x7.js.map +0 -1
  203. package/dist/_chunks/booking-DHkKcUIl.js +0 -2713
  204. package/dist/_chunks/booking-DHkKcUIl.js.map +0 -1
  205. package/dist/_chunks/contact-profile-card-CE9OJKcl.js.map +0 -1
  206. package/dist/_chunks/icon-button-group-D6SVMteH.js.map +0 -1
  207. package/dist/_chunks/languages-CGLX6Qpe.js +0 -19
  208. package/dist/_chunks/languages-CGLX6Qpe.js.map +0 -1
  209. package/dist/_chunks/link-cell-renderer-Cp2MSlJl.js.map +0 -1
  210. package/dist/_chunks/notes-panel-e9cJWVRg.js.map +0 -1
  211. package/dist/_chunks/practice-results-BEsAdW-B.js.map +0 -1
  212. package/dist/_chunks/stepper-accordion-BeVMZPuG.js.map +0 -1
  213. package/dist/_chunks/tool-rail-CHyUmulN.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp-button-Ca9towA4.js","sources":["../../src/components/whatsapp-button/whatsapp-button.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* WhatsAppButton — kit-tokened Click-to-Chat affordance. */\n/* */\n/* Replaces the booking website's loose green-circle-with-caption */\n/* combo (see HTP screenshot in the rebrand discussion) with a single */\n/* well-anchored affordance. Two variants: */\n/* */\n/* - `pill` — inline rounded button, brand green + white glyph + */\n/* label. Drops anywhere in card / header chrome. */\n/* - `fab` — circular floating action button, glyph only, */\n/* persistently anchored in the page corner. Carries an */\n/* `aria-label` so the SR announcement is \"Open WhatsApp */\n/* chat\" without rendering a loose visible caption. */\n/* */\n/* WhatsApp brand guidance requires the canonical #25D366 surface and */\n/* the official phone-bubble glyph — those live in `--brand-whatsapp` */\n/* tokens (added under `src/tokens/index.css`) so all four themes can */\n/* shift the green for accessible contrast without bleeding the brand */\n/* requirement into component code. */\n/* ------------------------------------------------------------------ */\n\nimport {\n forwardRef,\n useMemo,\n type AnchorHTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\n\n/* ------------------------------------------------------------------ */\n/* WhatsApp glyph */\n/* */\n/* Inlined SVG — no external icon dep. The path matches WhatsApp's */\n/* official brand mark (speech bubble + phone). `currentColor` lets */\n/* the kit's `--brand-whatsapp-foreground` paint the glyph from a */\n/* single CVA class, so accessible-theme shifts apply without code. */\n/* ------------------------------------------------------------------ */\n\nexport function WhatsAppGlyph({\n className,\n}: {\n className?: string;\n}): ReactNode {\n return (\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.149-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.71.306 1.263.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413Z\" />\n </svg>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst rootVariants = cva(\n [\n // `position` is provided by `positionVariants` below — `static`\n // sets `ds:relative` (so the pseudo-element touch-target anchors),\n // `bottom-end` / `bottom-start` set `ds:fixed`. Keeping `relative`\n // off the base avoids the cascade conflict that made `position:\n // relative` win against `position: fixed` in the compiled CSS\n // (booking-website was patching with `style={{position:'fixed'}}`).\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:font-medium',\n // The pill can shrink, so an unpinned glyph would squash horizontally\n // while its height held, distorting the brand mark.\n 'ds:[&_svg]:shrink-0',\n 'ds:bg-[var(--brand-whatsapp)] ds:text-[var(--brand-whatsapp-foreground)]',\n 'ds:hover:bg-[var(--brand-whatsapp-hover)]',\n 'ds:active:opacity-90',\n 'ds:transition-[background-color,box-shadow,opacity]',\n 'ds:duration-[var(--animation-duration)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n // Focus ring colour is `var(--ring)` (= `--primary` in light, ditto\n // through theme cascade) — NOT `--brand-whatsapp`. Painting the\n // ring brand-green on a brand-green surface makes it invisible.\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n // Under Windows High Contrast Mode the bg + shadow are stripped;\n // repaint a solid border + swap the focus ring to CanvasText so\n // the affordance stays identifiable.\n 'ds:forced-colors:border ds:forced-colors:border-[ButtonBorder]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n 'ds:disabled:opacity-50 ds:disabled:cursor-not-allowed',\n 'ds:motion-reduce:transition-none',\n ].join(' '),\n {\n variants: {\n variant: {\n // Pill — inline rounded button. Visible label is the brand\n // affordance text; glyph sits leading.\n //\n // No `whitespace-nowrap`: with it the pill's min-content width was\n // the whole label on one line, so a long label outgrew the viewport\n // and spilled off screen. Wrapping lets shrink-to-fit cap the pill.\n // `text-center` centres the wrapped line, the block padding keeps it\n // off the rounded edges, and `overflow-wrap` breaks a compound word\n // (German especially) that would otherwise still be too wide.\n pill: [\n 'ds:rounded-[var(--radius-full)] ds:gap-[var(--spacing-xs)]',\n 'ds:text-center ds:py-[var(--spacing-2xs)]',\n 'ds:[overflow-wrap:anywhere]',\n ].join(' '),\n // FAB — circular floating action button. Glyph only; the\n // label resolves into `aria-label`.\n fab: [\n 'ds:rounded-full ds:shadow-[var(--shadow-lg)]',\n 'ds:hover:shadow-[var(--shadow-xl)] ds:active:shadow-[var(--shadow-md)]',\n ].join(' '),\n },\n size: {\n sm: '',\n md: '',\n lg: '',\n },\n },\n compoundVariants: [\n {\n variant: 'pill',\n size: 'sm',\n class:\n 'ds:ps-3 ds:pe-3.5 ds:text-[length:var(--font-size-sm)] ds:[&_svg]:size-4 ds:min-h-[var(--min-target-size)] ds:sm:min-h-9 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',\n },\n {\n variant: 'pill',\n size: 'md',\n class:\n 'ds:min-h-10 ds:ps-4 ds:pe-5 ds:text-[length:var(--font-size-base)] ds:[&_svg]:size-5',\n },\n {\n variant: 'pill',\n size: 'lg',\n class:\n 'ds:min-h-12 ds:ps-5 ds:pe-6 ds:text-[length:var(--font-size-lg)] ds:[&_svg]:size-6',\n },\n // FAB — fixed square dimensions; the `sm` case mirrors the\n // FloatingActionButton's pseudo-target expansion below the\n // `sm:` breakpoint so a 40px circle still hits 44/48 px on\n // mobile.\n {\n variant: 'fab',\n size: 'sm',\n class:\n 'ds:h-10 ds:w-10 ds:[&_svg]:size-5 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',\n },\n {\n variant: 'fab',\n size: 'md',\n class: 'ds:h-14 ds:w-14 ds:[&_svg]:size-7',\n },\n {\n variant: 'fab',\n size: 'lg',\n class: 'ds:h-16 ds:w-16 ds:[&_svg]:size-8',\n },\n ],\n defaultVariants: {\n variant: 'pill',\n size: 'md',\n },\n },\n);\n\nconst positionVariants = cva('', {\n variants: {\n position: {\n // `relative` so the `::before` pseudo touch-target (defined in\n // the `pill sm` / `fab sm` compound variants) anchors to the\n // button's box. The fixed-positioning variants below don't need\n // this — `position: fixed` is itself a positioning context for\n // descendants and pseudo-elements.\n static: 'ds:relative',\n // Only ONE inset is set, so the cap must reserve the opposite gutter\n // itself — otherwise a long label pins to its inset edge and spills\n // off the other one. The arbitrary-PROPERTY form is load-bearing:\n // `max-inline-size-[…]` is not a utility and emits nothing.\n 'bottom-end':\n 'ds:fixed ds:z-[var(--z-fixed)] ds:bottom-[calc(var(--spacing-lg)+env(safe-area-inset-bottom,0px))] ds:end-[var(--spacing-lg)] ds:[max-inline-size:calc(100%_-_(var(--spacing-lg)_*_2))]',\n 'bottom-start':\n 'ds:fixed ds:z-[var(--z-fixed)] ds:bottom-[calc(var(--spacing-lg)+env(safe-area-inset-bottom,0px))] ds:start-[var(--spacing-lg)] ds:[max-inline-size:calc(100%_-_(var(--spacing-lg)_*_2))]',\n },\n },\n defaultVariants: { position: 'static' },\n});\n\n/* ------------------------------------------------------------------ */\n/* URL builder */\n/* ------------------------------------------------------------------ */\n\n/**\n * Build a `wa.me` deep-link from an E.164 phone number and an\n * optional prefilled message. The number is stripped to digits — the\n * `wa.me` host requires digits only (no `+`, no separators).\n *\n * Returns `null` (not an empty `wa.me/` URL) when the input contains\n * no digits — the caller is then responsible for rendering a disabled\n * affordance rather than shipping a broken link. In dev a `console.warn`\n * fires so the typo is visible during development.\n */\nfunction buildWaMeUrl(phoneNumber: string, message?: string): string | null {\n const digits = phoneNumber.replace(/\\D/g, '');\n if (digits.length === 0) {\n if (\n typeof import.meta !== 'undefined' &&\n typeof import.meta.env !== 'undefined' &&\n import.meta.env.DEV === true\n ) {\n console.warn(\n `[WhatsAppButton] phoneNumber \"${phoneNumber}\" contains no digits — ` +\n `the affordance will render disabled. Pass an E.164 number ` +\n `(e.g. \"+393331234567\") to fix.`,\n );\n }\n return null;\n }\n const base = `https://wa.me/${digits}`;\n if (!message) return base;\n return `${base}?text=${encodeURIComponent(message)}`;\n}\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\nexport interface WhatsAppButtonProps\n extends\n Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'children'>,\n VariantProps<typeof rootVariants>,\n VariantProps<typeof positionVariants> {\n /**\n * Phone number to chat to. E.164 format is recommended\n * (e.g. `+393331234567`). Any non-digit characters are stripped\n * before the URL is built — `wa.me` requires digits only.\n */\n phoneNumber: string;\n /**\n * Optional prefilled message. The receiver sees this in their\n * compose box. Keep it short and human — long pasted text is the\n * single most common reason consumers drop the affordance.\n */\n message?: string;\n /**\n * Override the visible / accessible label. Defaults to\n * `t('whatsApp.label')` (or `t('whatsApp.questionPrompt')` when\n * `tone=\"question\"`) for the pill variant, and\n * `t('whatsApp.fabLabel')` for the FAB.\n */\n label?: ReactNode;\n /**\n * Copy tone for the pill variant.\n * - `standard` (default) — brief \"Chat on WhatsApp\" affordance.\n * - `question` — invitational \"Have questions? Chat on WhatsApp\"\n * copy. Routes through `t('whatsApp.questionPrompt')`. Use on\n * public-facing surfaces (booking pages, marketing) where the\n * button is the only prompt encouraging engagement.\n *\n * Ignored for `variant=\"fab\"` — the floating action button is\n * glyph-only and its `aria-label` stays concise via `fabLabel`.\n */\n tone?: 'standard' | 'question';\n}\n\n/* ------------------------------------------------------------------ */\n/* WhatsAppButton */\n/* ------------------------------------------------------------------ */\n\nexport const WhatsAppButton = forwardRef<\n HTMLAnchorElement,\n WhatsAppButtonProps\n>(\n (\n {\n phoneNumber,\n message,\n variant = 'pill',\n size = 'md',\n position,\n label,\n tone = 'standard',\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const href = useMemo(\n () => buildWaMeUrl(phoneNumber, message),\n [phoneNumber, message],\n );\n // Default-label cascade:\n // FAB → `whatsApp.fabLabel` (always concise)\n // pill, tone=question → `whatsApp.questionPrompt` (invitational)\n // pill, tone=standard → `whatsApp.label` (default)\n // Consumer's `label` prop overrides any of the above.\n const defaultLabelKey =\n variant === 'fab'\n ? 'whatsApp.fabLabel'\n : tone === 'question'\n ? 'whatsApp.questionPrompt'\n : 'whatsApp.label';\n const resolvedLabel = label ?? t(defaultLabelKey);\n\n const composedClassName = [\n rootVariants({ variant, size }),\n positionVariants({ position }),\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // When the input has no digits, render an `aria-disabled` anchor\n // with the same chrome but no `href` — assistive tech announces the\n // disabled state and click does nothing. `buildWaMeUrl` already\n // emitted a dev-mode warning above. `target` / `rel` are stripped\n // too because they're meaningless without `href`.\n const isDisabled = href === null;\n const commonAnchorProps = {\n ref,\n ...(isDisabled\n ? {}\n : {\n href: href as string,\n target: '_blank' as const,\n rel: 'noopener noreferrer' as const,\n }),\n 'aria-disabled': isDisabled ? true : undefined,\n 'data-component': 'whatsapp-button' as const,\n 'data-variant': variant,\n onClick: (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (isDisabled) event.preventDefault();\n rest.onClick?.(event);\n },\n className: composedClassName,\n };\n\n // Screen-reader cue for the new-tab behaviour. WCAG 3.2.5 / G201:\n // user-initiated link openings to a new context should be\n // announced. Reused `link.opensInNewTab` from the kit's `ui` ns —\n // single source of truth across every external-link affordance.\n const opensInNewTabSrText = isDisabled\n ? null\n : t('link.opensInNewTab', 'Opens in a new tab');\n\n if (variant === 'fab') {\n // FAB — circular, glyph-only. The accessible name lives on the\n // anchor's `aria-label` (resolved label). No visible caption,\n // which is exactly what the redesign fixes vs. the legacy\n // green-circle-with-loose-text affordance.\n const fabAriaLabel =\n typeof resolvedLabel === 'string'\n ? opensInNewTabSrText\n ? `${resolvedLabel} — ${opensInNewTabSrText}`\n : resolvedLabel\n : undefined;\n return (\n <a {...rest} {...commonAnchorProps} aria-label={fabAriaLabel}>\n <WhatsAppGlyph />\n {typeof resolvedLabel !== 'string' ? (\n <span className=\"ds:sr-only\">\n {resolvedLabel}\n {opensInNewTabSrText ? ` — ${opensInNewTabSrText}` : null}\n </span>\n ) : null}\n </a>\n );\n }\n\n return (\n <a {...rest} {...commonAnchorProps}>\n <WhatsAppGlyph />\n <span>{resolvedLabel}</span>\n {opensInNewTabSrText ? (\n <span className=\"ds:sr-only\"> — {opensInNewTabSrText}</span>\n ) : null}\n </a>\n );\n },\n);\nWhatsAppButton.displayName = 'WhatsAppButton';\n"],"names":["WhatsAppGlyph","className","jsx","rootVariants","cva","positionVariants","buildWaMeUrl","phoneNumber","message","digits","base","WhatsAppButton","forwardRef","variant","size","position","label","tone","rest","ref","t","useTranslation","href","useMemo","resolvedLabel","composedClassName","isDisabled","commonAnchorProps","event","_a","opensInNewTabSrText","fabAriaLabel","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"whatsapp-button-CuFIHJzG.js","sources":["../../src/components/whatsapp-button/whatsapp-button.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* WhatsAppButton — kit-tokened Click-to-Chat affordance. */\n/* */\n/* Replaces the booking website's loose green-circle-with-caption */\n/* combo (see HTP screenshot in the rebrand discussion) with a single */\n/* well-anchored affordance. Two variants: */\n/* */\n/* - `pill` — inline rounded button, brand green + white glyph + */\n/* label. Drops anywhere in card / header chrome. */\n/* - `fab` — circular floating action button, glyph only, */\n/* persistently anchored in the page corner. Carries an */\n/* `aria-label` so the SR announcement is \"Open WhatsApp */\n/* chat\" without rendering a loose visible caption. */\n/* */\n/* WhatsApp brand guidance requires the canonical #25D366 surface and */\n/* the official phone-bubble glyph — those live in `--brand-whatsapp` */\n/* tokens (added under `src/tokens/index.css`) so all four themes can */\n/* shift the green for accessible contrast without bleeding the brand */\n/* requirement into component code. */\n/* ------------------------------------------------------------------ */\n\nimport {\n forwardRef,\n useMemo,\n type AnchorHTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\n\n/* ------------------------------------------------------------------ */\n/* WhatsApp glyph */\n/* */\n/* Inlined SVG — no external icon dep. The path matches WhatsApp's */\n/* official brand mark (speech bubble + phone). `currentColor` lets */\n/* the kit's `--brand-whatsapp-foreground` paint the glyph from a */\n/* single CVA class, so accessible-theme shifts apply without code. */\n/* ------------------------------------------------------------------ */\n\nexport function WhatsAppGlyph({\n className,\n}: {\n className?: string;\n}): ReactNode {\n return (\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.149-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.71.306 1.263.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413Z\" />\n </svg>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst rootVariants = cva(\n [\n // `position` is provided by `positionVariants` below — `static`\n // sets `ds:relative` (so the pseudo-element touch-target anchors),\n // `bottom-end` / `bottom-start` set `ds:fixed`. Keeping `relative`\n // off the base avoids the cascade conflict that made `position:\n // relative` win against `position: fixed` in the compiled CSS\n // (booking-website was patching with `style={{position:'fixed'}}`).\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:font-medium',\n // The pill can shrink, so an unpinned glyph would squash horizontally\n // while its height held, distorting the brand mark.\n 'ds:[&_svg]:shrink-0',\n 'ds:bg-[var(--brand-whatsapp)] ds:text-[var(--brand-whatsapp-foreground)]',\n 'ds:hover:bg-[var(--brand-whatsapp-hover)]',\n 'ds:active:opacity-90',\n 'ds:transition-[background-color,box-shadow,opacity]',\n 'ds:duration-[var(--animation-duration)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n // Focus ring colour is `var(--ring)` (= `--primary` in light, ditto\n // through theme cascade) — NOT `--brand-whatsapp`. Painting the\n // ring brand-green on a brand-green surface makes it invisible.\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n // Under Windows High Contrast Mode the bg + shadow are stripped;\n // repaint a solid border + swap the focus ring to CanvasText so\n // the affordance stays identifiable.\n 'ds:forced-colors:border ds:forced-colors:border-[ButtonBorder]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n 'ds:disabled:opacity-50 ds:disabled:cursor-not-allowed',\n 'ds:motion-reduce:transition-none',\n ].join(' '),\n {\n variants: {\n variant: {\n // Pill — inline rounded button. Visible label is the brand\n // affordance text; glyph sits leading.\n //\n // No `whitespace-nowrap`: with it the pill's min-content width was\n // the whole label on one line, so a long label outgrew the viewport\n // and spilled off screen. Wrapping lets shrink-to-fit cap the pill.\n // `text-center` centres the wrapped line, the block padding keeps it\n // off the rounded edges, and `overflow-wrap` breaks a compound word\n // (German especially) that would otherwise still be too wide.\n pill: [\n 'ds:rounded-[var(--radius-full)] ds:gap-[var(--spacing-xs)]',\n 'ds:text-center ds:py-[var(--spacing-2xs)]',\n 'ds:[overflow-wrap:anywhere]',\n ].join(' '),\n // FAB — circular floating action button. Glyph only; the\n // label resolves into `aria-label`.\n fab: [\n 'ds:rounded-full ds:shadow-[var(--shadow-lg)]',\n 'ds:hover:shadow-[var(--shadow-xl)] ds:active:shadow-[var(--shadow-md)]',\n ].join(' '),\n },\n size: {\n sm: '',\n md: '',\n lg: '',\n },\n },\n compoundVariants: [\n {\n variant: 'pill',\n size: 'sm',\n class:\n 'ds:ps-3 ds:pe-3.5 ds:text-[length:var(--font-size-sm)] ds:[&_svg]:size-4 ds:min-h-[var(--min-target-size)] ds:sm:min-h-9 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',\n },\n {\n variant: 'pill',\n size: 'md',\n class:\n 'ds:min-h-10 ds:ps-4 ds:pe-5 ds:text-[length:var(--font-size-base)] ds:[&_svg]:size-5',\n },\n {\n variant: 'pill',\n size: 'lg',\n class:\n 'ds:min-h-12 ds:ps-5 ds:pe-6 ds:text-[length:var(--font-size-lg)] ds:[&_svg]:size-6',\n },\n // FAB — fixed square dimensions; the `sm` case mirrors the\n // FloatingActionButton's pseudo-target expansion below the\n // `sm:` breakpoint so a 40px circle still hits 44/48 px on\n // mobile.\n {\n variant: 'fab',\n size: 'sm',\n class:\n 'ds:h-10 ds:w-10 ds:[&_svg]:size-5 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',\n },\n {\n variant: 'fab',\n size: 'md',\n class: 'ds:h-14 ds:w-14 ds:[&_svg]:size-7',\n },\n {\n variant: 'fab',\n size: 'lg',\n class: 'ds:h-16 ds:w-16 ds:[&_svg]:size-8',\n },\n ],\n defaultVariants: {\n variant: 'pill',\n size: 'md',\n },\n },\n);\n\nconst positionVariants = cva('', {\n variants: {\n position: {\n // `relative` so the `::before` pseudo touch-target (defined in\n // the `pill sm` / `fab sm` compound variants) anchors to the\n // button's box. The fixed-positioning variants below don't need\n // this — `position: fixed` is itself a positioning context for\n // descendants and pseudo-elements.\n static: 'ds:relative',\n // Only ONE inset is set, so the cap must reserve the opposite gutter\n // itself — otherwise a long label pins to its inset edge and spills\n // off the other one. The arbitrary-PROPERTY form is load-bearing:\n // `max-inline-size-[…]` is not a utility and emits nothing.\n 'bottom-end':\n 'ds:fixed ds:z-[var(--z-fixed)] ds:bottom-[calc(var(--spacing-lg)+env(safe-area-inset-bottom,0px))] ds:end-[var(--spacing-lg)] ds:[max-inline-size:calc(100%_-_(var(--spacing-lg)_*_2))]',\n 'bottom-start':\n 'ds:fixed ds:z-[var(--z-fixed)] ds:bottom-[calc(var(--spacing-lg)+env(safe-area-inset-bottom,0px))] ds:start-[var(--spacing-lg)] ds:[max-inline-size:calc(100%_-_(var(--spacing-lg)_*_2))]',\n },\n },\n defaultVariants: { position: 'static' },\n});\n\n/* ------------------------------------------------------------------ */\n/* URL builder */\n/* ------------------------------------------------------------------ */\n\n/**\n * Build a `wa.me` deep-link from an E.164 phone number and an\n * optional prefilled message. The number is stripped to digits — the\n * `wa.me` host requires digits only (no `+`, no separators).\n *\n * Returns `null` (not an empty `wa.me/` URL) when the input contains\n * no digits — the caller is then responsible for rendering a disabled\n * affordance rather than shipping a broken link. In dev a `console.warn`\n * fires so the typo is visible during development.\n */\nfunction buildWaMeUrl(phoneNumber: string, message?: string): string | null {\n const digits = phoneNumber.replace(/\\D/g, '');\n if (digits.length === 0) {\n if (\n typeof import.meta !== 'undefined' &&\n typeof import.meta.env !== 'undefined' &&\n import.meta.env.DEV === true\n ) {\n console.warn(\n `[WhatsAppButton] phoneNumber \"${phoneNumber}\" contains no digits — ` +\n `the affordance will render disabled. Pass an E.164 number ` +\n `(e.g. \"+393331234567\") to fix.`,\n );\n }\n return null;\n }\n const base = `https://wa.me/${digits}`;\n if (!message) return base;\n return `${base}?text=${encodeURIComponent(message)}`;\n}\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\nexport interface WhatsAppButtonProps\n extends\n Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'children'>,\n VariantProps<typeof rootVariants>,\n VariantProps<typeof positionVariants> {\n /**\n * Phone number to chat to. E.164 format is recommended\n * (e.g. `+393331234567`). Any non-digit characters are stripped\n * before the URL is built — `wa.me` requires digits only.\n */\n phoneNumber: string;\n /**\n * Optional prefilled message. The receiver sees this in their\n * compose box. Keep it short and human — long pasted text is the\n * single most common reason consumers drop the affordance.\n */\n message?: string;\n /**\n * Override the visible / accessible label. Defaults to\n * `t('whatsApp.label')` (or `t('whatsApp.questionPrompt')` when\n * `tone=\"question\"`) for the pill variant, and\n * `t('whatsApp.fabLabel')` for the FAB.\n */\n label?: ReactNode;\n /**\n * Copy tone for the pill variant.\n * - `standard` (default) — brief \"Chat on WhatsApp\" affordance.\n * - `question` — invitational \"Have questions? Chat on WhatsApp\"\n * copy. Routes through `t('whatsApp.questionPrompt')`. Use on\n * public-facing surfaces (booking pages, marketing) where the\n * button is the only prompt encouraging engagement.\n *\n * Ignored for `variant=\"fab\"` — the floating action button is\n * glyph-only and its `aria-label` stays concise via `fabLabel`.\n */\n tone?: 'standard' | 'question';\n}\n\n/* ------------------------------------------------------------------ */\n/* WhatsAppButton */\n/* ------------------------------------------------------------------ */\n\nexport const WhatsAppButton = forwardRef<\n HTMLAnchorElement,\n WhatsAppButtonProps\n>(\n (\n {\n phoneNumber,\n message,\n variant = 'pill',\n size = 'md',\n position,\n label,\n tone = 'standard',\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const href = useMemo(\n () => buildWaMeUrl(phoneNumber, message),\n [phoneNumber, message],\n );\n // Default-label cascade:\n // FAB → `whatsApp.fabLabel` (always concise)\n // pill, tone=question → `whatsApp.questionPrompt` (invitational)\n // pill, tone=standard → `whatsApp.label` (default)\n // Consumer's `label` prop overrides any of the above.\n const defaultLabelKey =\n variant === 'fab'\n ? 'whatsApp.fabLabel'\n : tone === 'question'\n ? 'whatsApp.questionPrompt'\n : 'whatsApp.label';\n const resolvedLabel = label ?? t(defaultLabelKey);\n\n const composedClassName = [\n rootVariants({ variant, size }),\n positionVariants({ position }),\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // When the input has no digits, render an `aria-disabled` anchor\n // with the same chrome but no `href` — assistive tech announces the\n // disabled state and click does nothing. `buildWaMeUrl` already\n // emitted a dev-mode warning above. `target` / `rel` are stripped\n // too because they're meaningless without `href`.\n const isDisabled = href === null;\n const commonAnchorProps = {\n ref,\n ...(isDisabled\n ? {}\n : {\n href: href as string,\n target: '_blank' as const,\n rel: 'noopener noreferrer' as const,\n }),\n /* An <a> without href has NO implicit role, and `aria-disabled` is\n prohibited on a roleless element (axe aria-prohibited-attr). Give\n the disabled anchor an explicit link role so the state is legal\n and assistive tech still announces it. */\n /* `tabIndex` too: an <a> without href is not focusable, and\n `aria-disabled` presupposes something focus CAN reach — otherwise\n the reason the control is disabled never reaches a keyboard. */\n ...(isDisabled ? { role: 'link' as const, tabIndex: 0 } : {}),\n 'aria-disabled': isDisabled ? true : undefined,\n 'data-component': 'whatsapp-button' as const,\n 'data-variant': variant,\n onClick: (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (isDisabled) event.preventDefault();\n rest.onClick?.(event);\n },\n className: composedClassName,\n };\n\n // Screen-reader cue for the new-tab behaviour. WCAG 3.2.5 / G201:\n // user-initiated link openings to a new context should be\n // announced. Reused `link.opensInNewTab` from the kit's `ui` ns —\n // single source of truth across every external-link affordance.\n const opensInNewTabSrText = isDisabled\n ? null\n : t('link.opensInNewTab', 'Opens in a new tab');\n\n if (variant === 'fab') {\n // FAB — circular, glyph-only. The accessible name lives on the\n // anchor's `aria-label` (resolved label). No visible caption,\n // which is exactly what the redesign fixes vs. the legacy\n // green-circle-with-loose-text affordance.\n const fabAriaLabel =\n typeof resolvedLabel === 'string'\n ? opensInNewTabSrText\n ? `${resolvedLabel} — ${opensInNewTabSrText}`\n : resolvedLabel\n : undefined;\n return (\n <a {...rest} {...commonAnchorProps} aria-label={fabAriaLabel}>\n <WhatsAppGlyph />\n {typeof resolvedLabel !== 'string' ? (\n <span className=\"ds:sr-only\">\n {resolvedLabel}\n {opensInNewTabSrText ? ` — ${opensInNewTabSrText}` : null}\n </span>\n ) : null}\n </a>\n );\n }\n\n return (\n <a {...rest} {...commonAnchorProps}>\n <WhatsAppGlyph />\n <span>{resolvedLabel}</span>\n {opensInNewTabSrText ? (\n <span className=\"ds:sr-only\"> — {opensInNewTabSrText}</span>\n ) : null}\n </a>\n );\n },\n);\nWhatsAppButton.displayName = 'WhatsAppButton';\n"],"names":["WhatsAppGlyph","className","jsx","rootVariants","cva","positionVariants","buildWaMeUrl","phoneNumber","message","digits","base","WhatsAppButton","forwardRef","variant","size","position","label","tone","rest","ref","t","useTranslation","href","useMemo","resolvedLabel","composedClassName","isDisabled","commonAnchorProps","event","_a","opensInNewTabSrText","fabAriaLabel","jsxs"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "1.10.1",
3
+ "packageVersion": "1.12.4",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -1253,6 +1253,12 @@
1253
1253
  "type": "string",
1254
1254
  "description": "Active variant — one of `inline-list`, `accordion`, `calendar`, `flexible`, `progress`.",
1255
1255
  "descriptionKey": "ui.agent.booking.state.variant"
1256
+ },
1257
+ {
1258
+ "name": "currentStep",
1259
+ "type": "number",
1260
+ "description": "The step the flow is on — 1 insurance, 2 specialty, 3 service, 4 provider, 5 date, 6 time, 7 patient details, 8 confirmation (after a successful submit). Read this back after `goto_step` to see where the clamp landed.",
1261
+ "descriptionKey": "ui.agent.booking.state.currentStep"
1256
1262
  }
1257
1263
  ],
1258
1264
  "actions": [
@@ -1293,7 +1299,8 @@
1293
1299
  },
1294
1300
  "idempotent": true,
1295
1301
  "errors": [
1296
- "Requested step is not yet reachable — clamped to the first incomplete step."
1302
+ "Requested step is not yet reachable — clamped to the first incomplete step.",
1303
+ "Requested step is hidden for this practice (e.g. insurance outside Germany, or provider choice turned off) — clamped to the first incomplete step."
1297
1304
  ],
1298
1305
  "examples": [
1299
1306
  {
@@ -1303,7 +1310,7 @@
1303
1310
  "note": "Return to the first step."
1304
1311
  }
1305
1312
  ],
1306
- "description": "Jump to the given step. Implementations may clamp to the first incomplete step if the requested one is not reachable yet.",
1313
+ "description": "Jump to the given step. A step that is hidden for this practice, or that sits ahead of the first incomplete step, clamps to that first incomplete step read `currentStep` back to see where it landed.",
1307
1314
  "descriptionKey": "ui.agent.booking.actions.gotoStep"
1308
1315
  }
1309
1316
  ],
@@ -10199,7 +10206,7 @@
10199
10206
  },
10200
10207
  "item": {
10201
10208
  "attr": "data-result-id",
10202
- "description": "Stable result id emitted on each rendered result card. Used by scroll_to_result / focus_pin to address a single result. Each card also carries two anchors: data-component=\"practice-result-open-cta\" (practice page) and data-component=\"practice-result-book-cta\" (booking flow; data-slot-aware=\"true\" when it deep-links to a next slot)."
10209
+ "description": "Stable result id emitted on each rendered result card. Used by scroll_to_result / focus_pin to address a single result. Each card also carries two anchors: data-component=\"practice-result-open-cta\" (practice page) and data-component=\"practice-result-book-cta\" (booking flow; data-slot-aware=\"true\" when it deep-links to a next slot). Card content carries its own read-only hooks: data-component=\"practice-result-tagline\", data-component=\"practice-result-description\", and data-component=\"practice-result-price\" (the kit-formatted first-visit cost — present only when the practice set one)."
10203
10210
  }
10204
10211
  }
10205
10212
  },
@@ -15725,7 +15732,7 @@
15725
15732
  {
15726
15733
  "name": "set_target",
15727
15734
  "safety": "phi",
15728
- "description": "Set or clear the patient's target for one parameter. The four the nutrition plan is written in — target weight, target BMI, daily energy, protein are set from the summary strip at the top of the Diagnosis surface; waist is set from its capture block, through the same editor. Each tile's edit button opens a small form: nothing is committed until Save, a value outside the parameter's sane range is refused rather than silently clamped, and Clear removes the goal rather than setting it to zero. A target belongs to the record, not to a visit — setting one records no measurement. Writes patient clinical data.",
15735
+ "description": "Set or clear the patient's target for one parameter. Every parameter the practice tracks as a goal is set from the summary strip at the top of the Diagnosis surface the kit seeds target weight, target BMI, daily energy and protein, and a practice can track any numeric parameter it flags as a goal; a targetable parameter that is not tracked (waist, by default) is set from its capture block, through the same editor. Each tile's edit button opens a small form: nothing is committed until Save, a value outside the parameter's sane range is refused rather than silently clamped, and Clear removes the goal rather than setting it to zero. A target belongs to the record, not to a visit — setting one records no measurement. Writes patient clinical data.",
15729
15736
  "descriptionKey": "ui.agent.anamnesis.workflows.setTarget",
15730
15737
  "uiActions": [
15731
15738
  "popover.open",
@@ -135,11 +135,12 @@
135
135
  },
136
136
  "booking": {
137
137
  "state": {
138
- "variant": "Active variant — one of `inline-list`, `accordion`, `calendar`, `flexible`, `progress`."
138
+ "variant": "Active variant — one of `inline-list`, `accordion`, `calendar`, `flexible`, `progress`.",
139
+ "currentStep": "The step the flow is on — 1 insurance, 2 specialty, 3 service, 4 provider, 5 date, 6 time, 7 patient details, 8 confirmation (after a successful submit). Read this back after `goto_step` to see where the clamp landed."
139
140
  },
140
141
  "actions": {
141
142
  "reset": "Clear the booking value back to an empty state. Use to abandon an in-progress flow.",
142
- "gotoStep": "Jump to the given step. Implementations may clamp to the first incomplete step if the requested one is not reachable yet."
143
+ "gotoStep": "Jump to the given step. A step that is hidden for this practice, or that sits ahead of the first incomplete step, clamps to that first incomplete step read `currentStep` back to see where it landed."
143
144
  }
144
145
  },
145
146
  "breadcrumb": {
@@ -1538,7 +1539,7 @@
1538
1539
  "saveIntake": "Persist the patient's questionnaire answers. Writes patient-identifiable clinical history.",
1539
1540
  "selectView": "Switch the diagnostic workspace between the read-only summary of the patient's questionnaire, the current-visit compile view and the across-visits evolution view. The summary is selected on arrival.",
1540
1541
  "recordMeasurement": "Record or correct an anthropometric, dietary-intake (daily energy, protein) or blood-test value for the current visit. BMI is computed from weight and height and cannot be recorded. Writes patient clinical data.",
1541
- "setTarget": "Set or clear the patient's target for one parameter. The four the nutrition plan is written in — target weight, target BMI, daily energy, protein are set from the summary strip at the top of the Diagnosis surface; waist is set from its capture block, through the same editor. Each tile's edit button opens a small form: nothing is committed until Save, a value outside the parameter's sane range is refused rather than silently clamped, and Clear removes the goal rather than setting it to zero. A target belongs to the record, not to a visit — setting one records no measurement. Writes patient clinical data.",
1542
+ "setTarget": "Set or clear the patient's target for one parameter. Every parameter the practice tracks as a goal is set from the summary strip at the top of the Diagnosis surface the kit seeds target weight, target BMI, daily energy and protein, and a practice can track any numeric parameter it flags as a goal; a targetable parameter that is not tracked (waist, by default) is set from its capture block, through the same editor. Each tile's edit button opens a small form: nothing is committed until Save, a value outside the parameter's sane range is refused rather than silently clamped, and Clear removes the goal rather than setting it to zero. A target belongs to the record, not to a visit — setting one records no measurement. Writes patient clinical data.",
1542
1543
  "assignPathologies": "Assign or remove coded pathologies for the current visit via the multi-select, reading the current assignments.",
1543
1544
  "readIntakeDigest": "Read the Summary tab: the at-a-glance digest of the patient's questionnaire — why they came, the conditions and medication they carry, the symptoms they report and their daily habits — and, one disclosure below it, the full answer list with its from-patient origin markers. Read-only; clinician-only; no mutation.",
1544
1545
  "resolveMissingAnswers": "Read how many required questionnaire answers are still missing, jump to the first of them — which crosses from the read-only Summary to the Compile tab and opens the unanswered-questions block that holds it — and record the answer there. Writes patient clinical history.",
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Shared money formatter for the kit's "price in minor units" convention.
3
+ *
4
+ * Every component that renders a price takes the amount as an integer in
5
+ * the smallest currency unit (cents / centesimi) plus an ISO-4217
6
+ * `currencyCode`, and the KIT does the formatting — the consumer never
7
+ * hands the kit a pre-rendered string. Lifted from the file-local
8
+ * duplicate in `contact-profile-card.tsx` when PracticeResults adopted
9
+ * the same convention, so both surfaces render an identical price for
10
+ * identical input.
11
+ *
12
+ * Not to be confused with `formatPaymentAmount` (payment-form): that one
13
+ * is the checkout formatter and falls back to an `en` currency string so
14
+ * a raw integer can never leak into a payment UI. This is the lightweight
15
+ * leaf helper for read-only price captions — it lives in `_shared` so a
16
+ * SERP card can use it without pulling the payment-form module graph in.
17
+ * Both apply the same zero-decimal divisor rule; only the failure
18
+ * behaviour differs.
19
+ */
20
+ export declare function formatPrice(minorUnits: number, currency: string, locale: string): string;
21
+ //# sourceMappingURL=format-price.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-price.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/format-price.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgCH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAoBR"}
@@ -8,6 +8,7 @@ export { computeDueDate, trimesterForWeeks, gestationalMilestones, trimesterHigh
8
8
  export { computeAntenatalSchedule, type AntenatalEvent, type ResolvedAntenatalEvent, type AntenatalScheduleOptions, type AntenatalCategory, type AntenatalStatus, type AntenatalCondition, type ScheduleLocale, type GdmRisk, } from './antenatal-schedule';
9
9
  export { AntenatalScheduleTimeline, type AntenatalScheduleTimelineProps, } from './antenatal-schedule-timeline';
10
10
  export { InsertButton, buildResultText, buildResultHtml, buildResultCardSvg, svgCardToPngDataUri, svgCardToPng, type InsertButtonProps, type InsertVariant, type InsertPayload, type InsertPngResult, type InsertMode, type InsertCardData, type InsertCardField, type InsertCardGauge, type SvgCardToPngOptions, } from './insert-result';
11
+ export { formatPrice } from './format-price';
11
12
  export { normalizeDiacritics } from './normalize-diacritics';
12
13
  export { useDebouncedCallback } from './use-debounced-callback';
13
14
  export { useFocusTrap, type UseFocusTrapOptions } from './use-focus-trap';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,21 @@
1
- export type StepStatus = 'completed' | 'error';
1
+ /**
2
+ * Consumer-supplied override for a step.
3
+ *
4
+ * - `completed` — the step holds a value; render the tick and let the user
5
+ * back in to change it.
6
+ * - `error` — the step's own validation failed; always wins.
7
+ * - `unlocked` (1.11.0) — the step has been *reached* but holds no value of
8
+ * its own. It renders exactly like an upcoming step, but the user may open
9
+ * it. Added for flows whose final step can never report itself "completed"
10
+ * because its validity belongs to a form inside it: without this, moving
11
+ * the cursor backwards left that step HTML-`disabled` and unreachable.
12
+ *
13
+ * `'completed'` and `'error'` behave exactly as before, so consumers passing
14
+ * either (or nothing) are unaffected. A consumer that reads this union back
15
+ * in an exhaustive `switch` needs a case for `'unlocked'`; `StepState` — the
16
+ * union such a switch usually runs on — is deliberately untouched.
17
+ */
18
+ export type StepStatus = 'completed' | 'error' | 'unlocked';
2
19
  export type StepState = 'upcoming' | 'current' | 'completed' | 'error';
3
20
  export interface StepSpec {
4
21
  /** Visible step label — comes from the consumer, already translated. */
@@ -9,9 +26,18 @@ export interface StepSpec {
9
26
  * Consumer-explicit status override. `error` always wins; `completed` is
10
27
  * honoured only for steps at or beyond the active index so the active step
11
28
  * always keeps `current` (otherwise a consumer pre-setting `completed` on
12
- * every step would silently mask the current position).
29
+ * every step would silently mask the current position). `unlocked` changes
30
+ * reachability only — see `stepIsReachable` — and never the rendered state.
13
31
  */
14
32
  status?: StepStatus;
15
33
  }
16
34
  export declare function stateForStep(index: number, activeStep: number, status?: StepStatus): StepState;
35
+ /**
36
+ * May the user open this step?
37
+ *
38
+ * Everything at or before the cursor is reachable, as is any step the
39
+ * consumer has explicitly marked `completed`, `error` or `unlocked`.
40
+ * Steps ahead of the cursor with no status stay locked, exactly as before.
41
+ */
42
+ export declare function stepIsReachable(index: number, activeStep: number, status?: StepStatus): boolean;
17
43
  //# sourceMappingURL=stepper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/stepper.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;AAE/C,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,QAAQ;IACvB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,UAAU,GAClB,SAAS,CAMX"}
1
+ {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/stepper.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC;AAE5D,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAEvE,MAAM,WAAW,QAAQ;IACvB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,UAAU,GAClB,SAAS,CASX;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAGT"}
@@ -88,7 +88,7 @@ declare const appointmentCardVariants: (props?: ({
88
88
  interactive?: boolean | null | undefined;
89
89
  surface?: "elevated" | "flat" | null | undefined;
90
90
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
91
- export interface AppointmentCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick' | 'role' | 'title'>, VariantProps<typeof appointmentCardVariants> {
91
+ export interface AppointmentCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick' | 'title'>, VariantProps<typeof appointmentCardVariants> {
92
92
  /** The appointment to render. */
93
93
  item: AppointmentItem;
94
94
  /** Visual density. */
@@ -1 +1 @@
1
- {"version":3,"file":"appointment-card.d.ts","sourceRoot":"","sources":["../../../src/components/appointment-card/appointment-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appointment-card.d.ts","sourceRoot":"","sources":["../../../src/components/appointment-card/appointment-card.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"appointment-timeline.agent.d.ts","sourceRoot":"","sources":["../../../src/components/appointment-timeline/appointment-timeline.agent.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,yBAAyB,CA4D1E,CAAC"}
1
+ {"version":3,"file":"appointment-timeline.agent.d.ts","sourceRoot":"","sources":["../../../src/components/appointment-timeline/appointment-timeline.agent.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,yBAAyB,CA4D1E,CAAC"}
@@ -29,6 +29,14 @@ export interface AppointmentTimelineProps extends Omit<HTMLAttributes<HTMLElemen
29
29
  currency?: string;
30
30
  /** Visual density passed to each AppointmentCard. */
31
31
  size?: 'sm' | 'md';
32
+ /**
33
+ * Lead each row with the PATIENT (avatar + name as the row title) rather
34
+ * than the operator. Default `false`: the timeline was built for a
35
+ * patient-scoped rail, where repeating the name on every row is noise. A
36
+ * clinic-wide agenda — "who is coming in next" across the practice —
37
+ * passes `true`, and rows with no patient read as "No patient".
38
+ */
39
+ showPatient?: boolean;
32
40
  /** Fires when a row is activated. */
33
41
  onOpenAppointment?: (item: AppointmentItem) => void;
34
42
  /** Load earlier (past) appointments — fired when the top edge is reached. */
@@ -1 +1 @@
1
- {"version":3,"file":"appointment-timeline.d.ts","sourceRoot":"","sources":["../../../src/components/appointment-timeline/appointment-timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,cAAc,EAEpB,MAAM,OAAO,CAAC;AACf,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAqC5E,sEAAsE;AACtE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,cAAc,CAAC,WAAW,CAAC,EAC3B,SAAS,GAAG,IAAI,GAAG,OAAO,CAC3B;IACC,2DAA2D;IAC3D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAGpD,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAGzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,QAAA,MAAM,YAAY;;8EAMjB,CAAC;AAiEF,eAAO,MAAM,mBAAmB,kHAwU/B,CAAC;AAyEF,iEAAiE;AACjE,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAC/C,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAC1C,CAAC"}
1
+ {"version":3,"file":"appointment-timeline.d.ts","sourceRoot":"","sources":["../../../src/components/appointment-timeline/appointment-timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,cAAc,EAEpB,MAAM,OAAO,CAAC;AACf,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAqC5E,sEAAsE;AACtE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,cAAc,CAAC,WAAW,CAAC,EAC3B,SAAS,GAAG,IAAI,GAAG,OAAO,CAC3B;IACC,2DAA2D;IAC3D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAGpD,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAGzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,QAAA,MAAM,YAAY;;8EAMjB,CAAC;AAiEF,eAAO,MAAM,mBAAmB,kHAiV/B,CAAC;AAyEF,iEAAiE;AACjE,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAC/C,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAC1C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { A as i, a as t } from "../../_chunks/appointment-timeline-0mwtpErq.js";
1
+ import { A as i, a as t } from "../../_chunks/appointment-timeline-DCn0Jx55.js";
2
2
  export {
3
3
  i as AppointmentTimeline,
4
4
  t as appointmentTimelineAgent
@@ -116,11 +116,24 @@ export interface BookingValidationResult {
116
116
  export type BookingValidator = (value: string) => Promise<BookingValidationResult>;
117
117
  export interface BookingHandle {
118
118
  getVariant: () => BookingVariant;
119
+ /**
120
+ * The step the flow is on — 1-7 while the cascade is in progress, and 8
121
+ * once `onSubmit` has resolved and the confirmation view is showing.
122
+ *
123
+ * This is the read-back for `goToStep`: it reports the **cursor**, which
124
+ * can sit behind the cascade's frontier after a backwards edit. It is
125
+ * therefore NOT always the number `onStepChange` emits — that callback
126
+ * reports the frontier (the first incomplete step), so moving the cursor
127
+ * back to step 3 with everything filled makes this return `3` while
128
+ * `onStepChange` stays silent on `7`.
129
+ */
130
+ getCurrentStep: () => 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
119
131
  /** Clear `value` back to an empty state via `onChange`. */
120
132
  reset: () => void;
121
133
  /**
122
- * Jump to a specific step. Implementations may clamp to the first
123
- * incomplete step if the requested one isn't reachable yet.
134
+ * Jump to a specific step. A step that is not in the visible ladder, or
135
+ * that sits ahead of the first incomplete step, clamps to that first
136
+ * incomplete step rather than stranding the cursor.
124
137
  */
125
138
  goToStep: (step: 1 | 2 | 3 | 4 | 5 | 6 | 7) => void;
126
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"booking-types.d.ts","sourceRoot":"","sources":["../../../src/components/booking/booking-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"booking-types.d.ts","sourceRoot":"","sources":["../../../src/components/booking/booking-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"booking.agent.d.ts","sourceRoot":"","sources":["../../../src/components/booking/booking.agent.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,aAAa,CAoEpD,CAAC"}
1
+ {"version":3,"file":"booking.agent.d.ts","sourceRoot":"","sources":["../../../src/components/booking/booking.agent.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,aAAa,CA4EpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"booking.d.ts","sourceRoot":"","sources":["../../../src/components/booking/booking.tsx"],"names":[],"mappings":"AA0EA,OAAO,KAAK,EAIV,YAAY,EAOb,MAAM,iBAAiB,CAAC;AA0BzB,YAAY,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAwrE1C,eAAO,MAAM,OAAO,yGAwanB,CAAC"}
1
+ {"version":3,"file":"booking.d.ts","sourceRoot":"","sources":["../../../src/components/booking/booking.tsx"],"names":[],"mappings":"AA8EA,OAAO,KAAK,EAIV,YAAY,EAOb,MAAM,iBAAiB,CAAC;AA2BzB,YAAY,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAm+E1C,eAAO,MAAM,OAAO,yGA4kBnB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-DHkKcUIl.js";
1
+ import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-CBHKdsZl.js";
2
2
  export {
3
3
  A as Booking,
4
4
  R as CONFIRMATION_CHANNEL_ORDER,
@@ -1,4 +1,4 @@
1
- import { C as t, c as s, a as c } from "../../_chunks/chart-Bkr1Sh4o.js";
1
+ import { C as t, c as s, a as c } from "../../_chunks/chart-C6eHTxkO.js";
2
2
  export {
3
3
  t as Chart,
4
4
  s as chartAgent,
@@ -1 +1 @@
1
- {"version":3,"file":"contact-profile-card.d.ts","sourceRoot":"","sources":["../../../src/components/contact-profile-card/contact-profile-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contact-profile-card.d.ts","sourceRoot":"","sources":["../../../src/components/contact-profile-card/contact-profile-card.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { C as _, a as O, b as o, c as r } from "../../_chunks/contact-profile-card-CE9OJKcl.js";
1
+ import { C as _, a as O, b as o, c as r } from "../../_chunks/contact-profile-card-BMIBr5s9.js";
2
2
  export {
3
3
  _ as CONTACT_PROFILE_CARD_ROW_ICONS,
4
4
  O as CONTACT_PROFILE_CARD_ROW_KEYS,
@@ -1,4 +1,4 @@
1
- import { C as r, a as l, c as a, u as t, b as e, d as n } from "../../_chunks/control-room-rail-Cj2iX9h_.js";
1
+ import { C as r, a as l, c as a, u as t, b as e, d as n } from "../../_chunks/control-room-rail-iO_BCaq1.js";
2
2
  export {
3
3
  r as ControlRoomProvider,
4
4
  l as ControlRoomRail,
@@ -32,6 +32,28 @@ export interface DateRangeFilterParams {
32
32
  placeholder?: string;
33
33
  commitMode?: 'auto' | 'apply';
34
34
  }
35
+ /**
36
+ * The model stores calendar days (`YYYY-MM-DD`), never instants: a range is
37
+ * "from this day to that day" in the user's own calendar. So the day is read
38
+ * off the local date parts — `toISOString()` would shift a local midnight to
39
+ * the previous day anywhere east of UTC.
40
+ */
41
+ export declare function toIsoDate(d: Date | undefined): string | null;
42
+ /** A bare day parses as LOCAL midnight; anything with a time/offset as-is. */
43
+ export declare function fromIsoDate(s: string | null | undefined): Date | undefined;
44
+ /**
45
+ * The calendar day a cell value stands for, as `YYYY-MM-DD`.
46
+ *
47
+ * An ISO string is read as the day it was WRITTEN with — `2026-04-15T17:32+02:00`
48
+ * is the 15th and `1933-04-04T00:00+01:00` the 4th, whatever zone the browser
49
+ * runs in. (Reducing the instant to the viewer's local day would move a
50
+ * practice-local timestamp across midnight for anyone in another zone, and
51
+ * made the result depend on the machine running the grid.) A `Date` has no
52
+ * offset of its own, so it is read in local time.
53
+ */
54
+ export declare function dayOf(cellValue: unknown): string | null;
55
+ /** Whether a cell's day lies within `[dateFrom, dateTo]` (either end open). */
56
+ export declare function dayInRange(cellValue: unknown, dateFrom: string | null | undefined, dateTo: string | null | undefined): boolean;
35
57
  export declare function DateRangeFilter(props: CustomFilterProps<unknown, unknown, DateRangeFilterModel>): import("react/jsx-runtime").JSX.Element;
36
58
  /**
37
59
  * Floating-filter companion for `DateRangeFilter`.
@@ -1 +1 @@
1
- {"version":3,"file":"date-range-filter.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/filters/date-range-filter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAaD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,2CA0EjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,yBAAyB,CAC9B,OAAO,EACP,OAAO,EACP,OAAO,EACP,oBAAoB,CACrB,2CAgDF"}
1
+ {"version":3,"file":"date-range-filter.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/filters/date-range-filter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIjD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAID;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAM5D;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAU1E;AAID;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CASvD;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CACxB,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,OAAO,CAOT;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,2CA0DjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,yBAAyB,CAC9B,OAAO,EACP,OAAO,EACP,OAAO,EACP,oBAAoB,CACrB,2CAgDF"}
@@ -1,6 +1,6 @@
1
- import { A as r, D as l, E as t, T as s, a as d, b as n, c as o, d as i, e as R, f as C, g as T, i as F, h as g } from "../../_chunks/actions-cell-renderer-xfSYiTXQ.js";
2
- import { B as b, C as c, a as u, E as x, b as p, R as E, T as m, c as f, r as h, u as S } from "../../_chunks/editable-currency-cell-renderer-zLf_bXvL.js";
3
- import { D as w, a as y, b as I, I as L, L as N, N as P, c as W, S as B, d as U, e as _, T as k, f as v, g as O, U as X } from "../../_chunks/link-cell-renderer-Cp2MSlJl.js";
1
+ import { A as r, D as l, E as t, T as s, a as d, b as n, c as o, d as i, e as R, f as C, g as T, i as F, h as g } from "../../_chunks/actions-cell-renderer-BCEjn3-f.js";
2
+ import { B as b, C as c, a as u, E as x, b as p, R as E, T as m, c as f, r as h, u as S } from "../../_chunks/editable-currency-cell-renderer-B7TVZ5ZJ.js";
3
+ import { D as w, a as y, b as I, I as L, L as N, N as P, c as W, S as B, d as U, e as _, T as k, f as v, g as O, U as X } from "../../_chunks/link-cell-renderer-CenJx-_7.js";
4
4
  export {
5
5
  r as ActionsCellRenderer,
6
6
  b as BalanceCellRenderer,
@@ -1,4 +1,4 @@
1
- import { A as e, F as o, a as n, b as A, c as i, d as f, e as t, I, f as N, g as T, h as F, i as _, j as E, k as c, l as h, m as r, n as p, o as O, p as S, q as m, r as l, s as d, t as C, u as D } from "../../_chunks/face-scheme-BfDi4YkW.js";
1
+ import { A as e, F as o, a as n, b as A, c as i, d as f, e as t, I, f as N, g as T, h as F, i as _, j as E, k as c, l as h, m as r, n as p, o as O, p as S, q as m, r as l, s as d, t as C, u as D } from "../../_chunks/face-scheme-CZaKm6fG.js";
2
2
  export {
3
3
  e as ANNOTATION_TOOL_KIND,
4
4
  o as FACE_ANNOTATION_TOOLS,
@@ -1,4 +1,4 @@
1
- import { F as r, f } from "../../_chunks/file-manager-Df6hyUYg.js";
1
+ import { F as r, f } from "../../_chunks/file-manager-Moc7sUFj.js";
2
2
  export {
3
3
  r as FileManager,
4
4
  f as fileManagerAgent
@@ -1,4 +1,4 @@
1
- import { H as t } from "../../_chunks/header-settings-CVC_davE.js";
1
+ import { H as t } from "../../_chunks/header-settings-J-ZCAfir.js";
2
2
  export {
3
3
  t as HeaderSettings
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button-group.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button-group/icon-button-group.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icon-button-group.d.ts","sourceRoot":"","sources":["../../../src/components/icon-button-group/icon-button-group.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { I as t } from "../../_chunks/icon-button-group-D6SVMteH.js";
1
+ import { I as t } from "../../_chunks/icon-button-group-VCCod3Hz.js";
2
2
  export {
3
3
  t as IconButtonGroup
4
4
  };
@@ -1,4 +1,4 @@
1
- import { N as a } from "../../_chunks/notes-panel-e9cJWVRg.js";
1
+ import { N as a } from "../../_chunks/notes-panel-CymneXtl.js";
2
2
  export {
3
3
  a as NotesPanel
4
4
  };