@alfadocs/ui-kit-debug 1.64.0 → 1.65.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 (151) hide show
  1. package/dist/_chunks/{anamnesis-summary-rows-DFWws7mM.js → anamnesis-summary-rows-BIfw890v.js} +3 -3
  2. package/dist/_chunks/{anamnesis-summary-rows-DFWws7mM.js.map → anamnesis-summary-rows-BIfw890v.js.map} +1 -1
  3. package/dist/_chunks/{antenatal-schedule-timeline-DuaAQj1m.js → antenatal-schedule-timeline-DW_qkGo1.js} +3 -3
  4. package/dist/_chunks/{antenatal-schedule-timeline-DuaAQj1m.js.map → antenatal-schedule-timeline-DW_qkGo1.js.map} +1 -1
  5. package/dist/_chunks/{appointment-timeline-DaHKV81s.js → appointment-timeline-CCqjORFb.js} +2 -2
  6. package/dist/_chunks/{appointment-timeline-DaHKV81s.js.map → appointment-timeline-CCqjORFb.js.map} +1 -1
  7. package/dist/_chunks/{balance-badge-cell-ejODZU7R.js → balance-badge-cell-DZNthHO1.js} +3 -3
  8. package/dist/_chunks/{balance-badge-cell-ejODZU7R.js.map → balance-badge-cell-DZNthHO1.js.map} +1 -1
  9. package/dist/_chunks/{booking-CGhOtxad.js → booking-DkjatiXc.js} +5 -5
  10. package/dist/_chunks/{booking-CGhOtxad.js.map → booking-DkjatiXc.js.map} +1 -1
  11. package/dist/_chunks/{calendar-DCr65Kt1.js → calendar-BhN-jisv.js} +43 -40
  12. package/dist/_chunks/calendar-BhN-jisv.js.map +1 -0
  13. package/dist/_chunks/{calendar-workspace-BArq9vkD.js → calendar-workspace-Cp8yTZ1g.js} +9 -9
  14. package/dist/_chunks/{calendar-workspace-BArq9vkD.js.map → calendar-workspace-Cp8yTZ1g.js.map} +1 -1
  15. package/dist/_chunks/chart-CIzXxNeM.js +1322 -0
  16. package/dist/_chunks/chart-CIzXxNeM.js.map +1 -0
  17. package/dist/_chunks/{clinical-note-card-D2bbWksq.js → clinical-note-card-BnFTIs6x.js} +2 -2
  18. package/dist/_chunks/{clinical-note-card-D2bbWksq.js.map → clinical-note-card-BnFTIs6x.js.map} +1 -1
  19. package/dist/_chunks/{contact-profile-card-B4sjoIqf.js → contact-profile-card-C4-OCshj.js} +2 -2
  20. package/dist/_chunks/{contact-profile-card-B4sjoIqf.js.map → contact-profile-card-C4-OCshj.js.map} +1 -1
  21. package/dist/_chunks/{cycle-calculator-D-rwX9Pj.js → cycle-calculator-D2Y4LvgC.js} +3 -3
  22. package/dist/_chunks/{cycle-calculator-D-rwX9Pj.js.map → cycle-calculator-D2Y4LvgC.js.map} +1 -1
  23. package/dist/_chunks/{data-table-C6ft3fSd.js → data-table-COoCQ4n_.js} +2 -2
  24. package/dist/_chunks/{data-table-C6ft3fSd.js.map → data-table-COoCQ4n_.js.map} +1 -1
  25. package/dist/_chunks/{date-picker-BSZuKo13.js → date-picker-KcoNNsM0.js} +3 -3
  26. package/dist/_chunks/{date-picker-BSZuKo13.js.map → date-picker-KcoNNsM0.js.map} +1 -1
  27. package/dist/_chunks/{date-picker-variants-BnF-sHzq.js → date-picker-variants-DN37Oj5-.js} +2 -2
  28. package/dist/_chunks/{date-picker-variants-BnF-sHzq.js.map → date-picker-variants-DN37Oj5-.js.map} +1 -1
  29. package/dist/_chunks/{date-range-picker-CFk-5O3R.js → date-range-picker-CjcjUJLW.js} +4 -4
  30. package/dist/_chunks/{date-range-picker-CFk-5O3R.js.map → date-range-picker-CjcjUJLW.js.map} +1 -1
  31. package/dist/_chunks/{date-time-picker-CjxTkblD.js → date-time-picker-BVQNZ4yC.js} +3 -3
  32. package/dist/_chunks/{date-time-picker-CjxTkblD.js.map → date-time-picker-BVQNZ4yC.js.map} +1 -1
  33. package/dist/_chunks/{due-date-calculator-DTfxFJCM.js → due-date-calculator-41uZDkVR.js} +4 -4
  34. package/dist/_chunks/{due-date-calculator-DTfxFJCM.js.map → due-date-calculator-41uZDkVR.js.map} +1 -1
  35. package/dist/_chunks/escape-html-Cn9Fao6a.js +7 -0
  36. package/dist/_chunks/escape-html-Cn9Fao6a.js.map +1 -0
  37. package/dist/_chunks/{file-manager-w1UEprw8.js → file-manager-RiV7-OEE.js} +2 -2
  38. package/dist/_chunks/{file-manager-w1UEprw8.js.map → file-manager-RiV7-OEE.js.map} +1 -1
  39. package/dist/_chunks/{format-price-BKle6Xwt.js → format-price-BcFBa-WP.js} +2 -2
  40. package/dist/_chunks/{format-price-BKle6Xwt.js.map → format-price-BcFBa-WP.js.map} +1 -1
  41. package/dist/_chunks/{freemium-paywall-r-z48YaT.js → freemium-paywall-DKJHRFpp.js} +2 -2
  42. package/dist/_chunks/{freemium-paywall-r-z48YaT.js.map → freemium-paywall-DKJHRFpp.js.map} +1 -1
  43. package/dist/_chunks/{gestational-age-calculator-BnCAL5a-.js → gestational-age-calculator-CZYa2D6m.js} +5 -5
  44. package/dist/_chunks/{gestational-age-calculator-BnCAL5a-.js.map → gestational-age-calculator-CZYa2D6m.js.map} +1 -1
  45. package/dist/_chunks/{hcg-doubling-DVDiqFyp.js → hcg-doubling-DwTcjfke.js} +3 -3
  46. package/dist/_chunks/{hcg-doubling-DVDiqFyp.js.map → hcg-doubling-DwTcjfke.js.map} +1 -1
  47. package/dist/_chunks/{heatmap-DuDfTIII.js → heatmap-BxRHM8Et.js} +5 -5
  48. package/dist/_chunks/heatmap-BxRHM8Et.js.map +1 -0
  49. package/dist/_chunks/intl-locale-FWh-Y5_3.js +33 -0
  50. package/dist/_chunks/intl-locale-FWh-Y5_3.js.map +1 -0
  51. package/dist/_chunks/{kit-extensions-RnddkrXn.js → kit-extensions-DWs1UEXb.js} +4 -4
  52. package/dist/_chunks/{kit-extensions-RnddkrXn.js.map → kit-extensions-DWs1UEXb.js.map} +1 -1
  53. package/dist/_chunks/{link-cell-renderer-dtEYlxi2.js → link-cell-renderer-CtTsvfPY.js} +2 -2
  54. package/dist/_chunks/{link-cell-renderer-dtEYlxi2.js.map → link-cell-renderer-CtTsvfPY.js.map} +1 -1
  55. package/dist/_chunks/{money-CeClE1nH.js → money-Tsczpjfz.js} +2 -2
  56. package/dist/_chunks/{money-CeClE1nH.js.map → money-Tsczpjfz.js.map} +1 -1
  57. package/dist/_chunks/{note-attachment-D8V7PUiR.js → note-attachment-DIlIQ7JF.js} +14 -16
  58. package/dist/_chunks/note-attachment-DIlIQ7JF.js.map +1 -0
  59. package/dist/_chunks/{note-timeline-CwxPQ2Ak.js → note-timeline-DDqNU46n.js} +2 -2
  60. package/dist/_chunks/{note-timeline-CwxPQ2Ak.js.map → note-timeline-DDqNU46n.js.map} +1 -1
  61. package/dist/_chunks/{notes-panel-BRLc2ozF.js → notes-panel-uEGIL7mi.js} +2 -2
  62. package/dist/_chunks/{notes-panel-BRLc2ozF.js.map → notes-panel-uEGIL7mi.js.map} +1 -1
  63. package/dist/_chunks/{parse-jZ-i8Xgj.js → parse-UB4FJGNA.js} +2 -2
  64. package/dist/_chunks/{parse-jZ-i8Xgj.js.map → parse-UB4FJGNA.js.map} +1 -1
  65. package/dist/_chunks/{patient-details-BY8Rwwpi.js → patient-details-4P1vA9Ls.js} +2 -2
  66. package/dist/_chunks/{patient-details-BY8Rwwpi.js.map → patient-details-4P1vA9Ls.js.map} +1 -1
  67. package/dist/_chunks/{patient-field-row-C8ymfffP.js → patient-field-row-CBXhlfGD.js} +2 -2
  68. package/dist/_chunks/{patient-field-row-C8ymfffP.js.map → patient-field-row-CBXhlfGD.js.map} +1 -1
  69. package/dist/_chunks/{patient-summary-card-cmqjIXMk.js → patient-summary-card-CuDLo8MP.js} +2 -2
  70. package/dist/_chunks/{patient-summary-card-cmqjIXMk.js.map → patient-summary-card-CuDLo8MP.js.map} +1 -1
  71. package/dist/_chunks/{payment-form-i90DUuNK.js → payment-form-C3dGY7v4.js} +2 -2
  72. package/dist/_chunks/{payment-form-i90DUuNK.js.map → payment-form-C3dGY7v4.js.map} +1 -1
  73. package/dist/_chunks/{practice-results-B8L9ZmtR.js → practice-results-8h2Utpt3.js} +2 -2
  74. package/dist/_chunks/{practice-results-B8L9ZmtR.js.map → practice-results-8h2Utpt3.js.map} +1 -1
  75. package/dist/_chunks/{pregnancy-dating-D2XTELiw.js → pregnancy-dating-B8wo4l_r.js} +5 -5
  76. package/dist/_chunks/{pregnancy-dating-D2XTELiw.js.map → pregnancy-dating-B8wo4l_r.js.map} +1 -1
  77. package/dist/_chunks/{radiograph-panel.agent-DDNUo4Ul.js → radiograph-panel.agent-8Ewv8-d7.js} +3 -3
  78. package/dist/_chunks/{radiograph-panel.agent-DDNUo4Ul.js.map → radiograph-panel.agent-8Ewv8-d7.js.map} +1 -1
  79. package/dist/_chunks/{sparkline-pkGPCXbl.js → sparkline-SnniCoCl.js} +72 -64
  80. package/dist/_chunks/sparkline-SnniCoCl.js.map +1 -0
  81. package/dist/_chunks/subDays-xH7cpN6B.js +8 -0
  82. package/dist/_chunks/{subDays-DlMw8Xng.js.map → subDays-xH7cpN6B.js.map} +1 -1
  83. package/dist/_chunks/{task-editor-DoiOzNiC.js → task-editor-CifOznfq.js} +2 -2
  84. package/dist/_chunks/{task-editor-DoiOzNiC.js.map → task-editor-CifOznfq.js.map} +1 -1
  85. package/dist/_chunks/{treatment-receipt-BdJ36vNP.js → treatment-receipt-Cpm8tqQN.js} +2 -2
  86. package/dist/_chunks/{treatment-receipt-BdJ36vNP.js.map → treatment-receipt-Cpm8tqQN.js.map} +1 -1
  87. package/dist/_chunks/{use-appointment-details-read-D6Gb_OuN.js → use-appointment-details-read-B-FEWbQM.js} +5 -5
  88. package/dist/_chunks/{use-appointment-details-read-D6Gb_OuN.js.map → use-appointment-details-read-B-FEWbQM.js.map} +1 -1
  89. package/dist/agent-catalog.json +1 -1
  90. package/dist/components/_shared/escape-html.d.ts +7 -0
  91. package/dist/components/_shared/escape-html.d.ts.map +1 -0
  92. package/dist/components/_shared/intl-locale.d.ts +5 -3
  93. package/dist/components/_shared/intl-locale.d.ts.map +1 -1
  94. package/dist/components/_shared/note-markdown.d.ts.map +1 -1
  95. package/dist/components/_shared/use-apex-legend-scroll.d.ts.map +1 -1
  96. package/dist/components/_shared/use-apex-radial-centre.d.ts +19 -0
  97. package/dist/components/_shared/use-apex-radial-centre.d.ts.map +1 -0
  98. package/dist/components/appointment-details-panel/index.js +1 -1
  99. package/dist/components/appointment-timeline/index.js +1 -1
  100. package/dist/components/booking/index.js +1 -1
  101. package/dist/components/calendar/calendar.d.ts.map +1 -1
  102. package/dist/components/calendar/index.js +1 -1
  103. package/dist/components/chart/chart.d.ts +8 -5
  104. package/dist/components/chart/chart.d.ts.map +1 -1
  105. package/dist/components/chart/index.js +1 -1
  106. package/dist/components/clinical-note-card/index.js +1 -1
  107. package/dist/components/contact-profile-card/index.js +1 -1
  108. package/dist/components/cycle-calculator/index.js +1 -1
  109. package/dist/components/data-table/index.js +2 -2
  110. package/dist/components/date-picker/index.js +1 -1
  111. package/dist/components/date-range-picker/index.js +1 -1
  112. package/dist/components/date-time-picker/index.js +1 -1
  113. package/dist/components/due-date-calculator/index.js +2 -2
  114. package/dist/components/file-manager/index.js +1 -1
  115. package/dist/components/freemium-paywall/index.js +1 -1
  116. package/dist/components/gestational-age-calculator/index.js +1 -1
  117. package/dist/components/hcg-doubling/index.js +1 -1
  118. package/dist/components/heatmap/heatmap-model.d.ts +4 -1
  119. package/dist/components/heatmap/heatmap-model.d.ts.map +1 -1
  120. package/dist/components/heatmap/heatmap.d.ts +3 -1
  121. package/dist/components/heatmap/heatmap.d.ts.map +1 -1
  122. package/dist/components/heatmap/index.js +1 -1
  123. package/dist/components/money/index.js +1 -1
  124. package/dist/components/note-timeline/index.js +1 -1
  125. package/dist/components/notes-panel/index.js +1 -1
  126. package/dist/components/patient-details/index.js +1 -1
  127. package/dist/components/patient-summary-card/index.js +1 -1
  128. package/dist/components/patient-table/index.js +1 -1
  129. package/dist/components/payment-form/index.js +1 -1
  130. package/dist/components/practice-results/index.js +1 -1
  131. package/dist/components/pregnancy-dating/index.js +1 -1
  132. package/dist/components/radiograph-panel/index.js +1 -1
  133. package/dist/components/rich-text-editor/index.js +1 -1
  134. package/dist/components/sparkline/index.js +1 -1
  135. package/dist/components/sparkline/sparkline.d.ts.map +1 -1
  136. package/dist/components/task-editor/index.js +1 -1
  137. package/dist/components/treatment-receipt/index.js +1 -1
  138. package/dist/index.js +36 -36
  139. package/dist/patterns/anamnesis/index.js +1 -1
  140. package/dist/patterns/calendar/index.js +1 -1
  141. package/dist/tokens.css +15 -1
  142. package/package.json +1 -1
  143. package/dist/_chunks/calendar-DCr65Kt1.js.map +0 -1
  144. package/dist/_chunks/chart-CzTF8yhH.js +0 -1123
  145. package/dist/_chunks/chart-CzTF8yhH.js.map +0 -1
  146. package/dist/_chunks/heatmap-DuDfTIII.js.map +0 -1
  147. package/dist/_chunks/intl-locale-ySteXlDD.js +0 -23
  148. package/dist/_chunks/intl-locale-ySteXlDD.js.map +0 -1
  149. package/dist/_chunks/note-attachment-D8V7PUiR.js.map +0 -1
  150. package/dist/_chunks/sparkline-pkGPCXbl.js.map +0 -1
  151. package/dist/_chunks/subDays-DlMw8Xng.js +0 -8
@@ -3,7 +3,7 @@ import { forwardRef as R, useRef as j } from "react";
3
3
  import { c as g } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as L } from "react-i18next";
5
5
  import { B as f } from "./badge-BUk4RjTS.js";
6
- import { M as u } from "./money-CeClE1nH.js";
6
+ import { M as u } from "./money-Tsczpjfz.js";
7
7
  import { C as z, S as h } from "./skeleton-B1KTdJ4N.js";
8
8
  import { T as S } from "./tag-DOZGz0fT.js";
9
9
  const v = "type-label ds:text-[color:var(--muted-foreground)]", x = g(
@@ -157,4 +157,4 @@ E.displayName = "TreatmentReceipt";
157
157
  export {
158
158
  E as T
159
159
  };
160
- //# sourceMappingURL=treatment-receipt-BdJ36vNP.js.map
160
+ //# sourceMappingURL=treatment-receipt-Cpm8tqQN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"treatment-receipt-BdJ36vNP.js","sources":["../../src/components/treatment-receipt/treatment-receipt.tsx"],"sourcesContent":["import { forwardRef, useRef, type HTMLAttributes } from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Badge } from '../badge/badge';\nimport { Money } from '../money/money';\nimport { CONTENT_ENTER_CLASS, Skeleton } from '../skeleton/skeleton';\nimport { Tag } from '../tag/tag';\n\n/* -------------------------------------------------------------------- */\n/* TreatmentReceipt */\n/* */\n/* The treatments scheduled for ONE appointment, set as a receipt: a line */\n/* per treatment, the money in a single inline-end column, and a total */\n/* beneath the rule. */\n/* */\n/* Three rules the layout depends on, each a real branch in the data: */\n/* */\n/* - The total shows ONLY when every line is priced. `priceCents` is */\n/* optional because prices are withheld from viewers without the */\n/* permission, and summing what is visible states a confident, wrong */\n/* figure. */\n/* - It is labelled as the APPOINTMENT's total, never a bare \"Total\": a */\n/* plan can run to many treatments and only some are scheduled here. */\n/* - The tooth element is DATA, not decoration, so it stays a chip. */\n/* */\n/* Read-only. It exists because the shape was being rebuilt from Tag, */\n/* Money and Badge per surface, and the total rule was the part dropped. */\n/* -------------------------------------------------------------------- */\n\nconst MUTED = 'type-label ds:text-[color:var(--muted-foreground)]';\n\nconst lineVariants = cva(\n [\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]',\n 'ds:py-[var(--spacing-xs)]',\n // Dashed between lines, like a printed receipt; the last line hands the\n // solid rule over to the total below it.\n 'ds:border-b ds:border-dashed ds:border-[color:var(--border)]',\n 'ds:last:border-b-0',\n ].join(' '),\n);\n\nconst totalVariants = cva(\n [\n 'ds:mt-[var(--spacing-xs)] ds:flex ds:items-baseline ds:justify-between',\n 'ds:gap-[var(--spacing-sm)] ds:pt-[var(--spacing-xs)]',\n 'ds:border-t ds:border-[color:var(--border)]',\n ].join(' '),\n);\n\nexport interface TreatmentReceiptLine {\n /** Stable key for the line. */\n id: string;\n /** Treatment name, as the price list prints it. */\n name: string;\n /** Price-list code, shown muted after the name. */\n code?: string;\n /** Dental elements as the platform prints them (\"36, 37\"). */\n elementsLabel?: string;\n /** Plan phases this line belongs to. */\n phases?: string[];\n /** The treatment has been carried out. */\n done?: boolean;\n /** The treatment has been invoiced. */\n billed?: boolean;\n /** Minor units. Absent means prices are withheld from this viewer. */\n priceCents?: number;\n}\n\nexport interface TreatmentReceiptProps extends HTMLAttributes<HTMLDivElement> {\n lines: TreatmentReceiptLine[];\n /** BCP 47 locale for the amounts. Defaults to Money's own default. */\n locale?: string;\n /** ISO 4217 code. Defaults to Money's own default. */\n currency?: string;\n /**\n * The treatments are being read. With no `lines` yet it shows placeholder\n * receipt lines and no total. With lines already on screen (a refresh) it\n * keeps them and only sets `aria-busy`.\n */\n loading?: boolean;\n /** Placeholder lines shown while `loading`. Default `2`. */\n loadingLines?: number;\n /** Label of the total row. Defaults to the kit's \"Total for this appointment\". */\n totalLabel?: string;\n}\n\nexport const TreatmentReceipt = forwardRef<\n HTMLDivElement,\n TreatmentReceiptProps\n>(\n (\n {\n lines,\n locale,\n currency,\n totalLabel,\n loading = false,\n loadingLines = 2,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation('ui');\n /* Settle in only when this content REPLACES a skeleton. Content that was\n simply there from the start must not fade: it would read as invisible\n for one animation to any test or reader that looks at once. */\n const followedLoading = useRef(false);\n if (loading) followedLoading.current = true;\n const enterClass = followedLoading.current ? CONTENT_ENTER_CLASS : '';\n\n const everyLinePriced =\n lines.length > 0 && lines.every((line) => line.priceCents !== undefined);\n const totalCents = lines.reduce(\n (sum, line) => sum + (line.priceCents ?? 0),\n 0,\n );\n\n // First read only: a refresh keeps the lines it has and marks them busy.\n if (loading && lines.length === 0) {\n return (\n <div\n {...rest}\n ref={ref}\n data-component=\"treatment-receipt\"\n data-loading=\"\"\n aria-busy=\"true\"\n className={['ds:flex ds:flex-col', className]\n .filter(Boolean)\n .join(' ')}\n >\n <ul\n aria-hidden=\"true\"\n className=\"ds:m-0 ds:flex ds:list-none ds:flex-col ds:p-0\"\n >\n {Array.from({ length: Math.max(1, loadingLines) }, (_, index) => (\n <li key={index} className={lineVariants()}>\n <div className=\"ds:flex ds:items-center ds:gap-[var(--spacing-sm)]\">\n <Skeleton\n variant=\"text\"\n size=\"sm\"\n stagger={index * 2}\n width={index % 2 === 0 ? '60%' : '40%'}\n />\n <Skeleton\n variant=\"text\"\n size=\"sm\"\n stagger={index * 2 + 1}\n width=\"var(--spacing-2xl)\"\n className=\"ds:ms-auto ds:shrink-0\"\n />\n </div>\n </li>\n ))}\n </ul>\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n data-component=\"treatment-receipt\"\n aria-busy={loading || undefined}\n className={['ds:flex ds:flex-col', className].filter(Boolean).join(' ')}\n {...rest}\n >\n <ul\n className={`ds:m-0 ds:flex ds:list-none ds:flex-col ds:p-0 ${enterClass}`.trim()}\n >\n {lines.map((line) => {\n const phases = line.phases ?? [];\n const hasSubLine = phases.length > 0 || line.done || line.billed;\n return (\n <li\n key={line.id}\n data-treatment-receipt-line=\"\"\n className={lineVariants()}\n >\n <div className=\"ds:flex ds:items-baseline ds:gap-[var(--spacing-sm)]\">\n <span className=\"ds:flex ds:min-w-0 ds:flex-1 ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)] type-body-sm\">\n {line.name}\n {line.code ? (\n <span className={`${MUTED} ds:tabular-nums`}>\n {line.code}\n </span>\n ) : null}\n {line.elementsLabel ? (\n <Tag\n size=\"sm\"\n variant=\"info\"\n label={line.elementsLabel}\n />\n ) : null}\n </span>\n {line.priceCents !== undefined ? (\n <Money\n value={line.priceCents}\n locale={locale}\n currency={currency}\n decimals=\"muted\"\n className=\"ds:shrink-0\"\n />\n ) : null}\n </div>\n {hasSubLine ? (\n <div className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]\">\n {phases.length > 0 ? (\n <span className={MUTED}>\n {t('treatmentReceipt.phases', {\n phases: phases.join(', '),\n })}\n </span>\n ) : null}\n {line.done ? (\n <Badge variant=\"success\" size=\"sm\" withDot>\n {t('treatmentReceipt.done')}\n </Badge>\n ) : null}\n {line.billed ? (\n <Badge variant=\"neutral\" size=\"sm\">\n {t('treatmentReceipt.billed')}\n </Badge>\n ) : null}\n </div>\n ) : null}\n </li>\n );\n })}\n </ul>\n {everyLinePriced ? (\n <div data-treatment-receipt-total=\"\" className={totalVariants()}>\n <span className=\"type-body-sm ds:font-medium\">\n {totalLabel ?? t('treatmentReceipt.total')}\n </span>\n <Money\n value={totalCents}\n locale={locale}\n currency={currency}\n decimals=\"muted\"\n className=\"ds:font-semibold\"\n />\n </div>\n ) : null}\n </div>\n );\n },\n);\nTreatmentReceipt.displayName = 'TreatmentReceipt';\n"],"names":["MUTED","lineVariants","cva","totalVariants","TreatmentReceipt","forwardRef","lines","locale","currency","totalLabel","loading","loadingLines","className","rest","ref","t","useTranslation","followedLoading","useRef","enterClass","CONTENT_ENTER_CLASS","everyLinePriced","line","totalCents","sum","jsx","_","index","jsxs","Skeleton","phases","hasSubLine","Tag","Money","Badge"],"mappings":"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"}
1
+ {"version":3,"file":"treatment-receipt-Cpm8tqQN.js","sources":["../../src/components/treatment-receipt/treatment-receipt.tsx"],"sourcesContent":["import { forwardRef, useRef, type HTMLAttributes } from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Badge } from '../badge/badge';\nimport { Money } from '../money/money';\nimport { CONTENT_ENTER_CLASS, Skeleton } from '../skeleton/skeleton';\nimport { Tag } from '../tag/tag';\n\n/* -------------------------------------------------------------------- */\n/* TreatmentReceipt */\n/* */\n/* The treatments scheduled for ONE appointment, set as a receipt: a line */\n/* per treatment, the money in a single inline-end column, and a total */\n/* beneath the rule. */\n/* */\n/* Three rules the layout depends on, each a real branch in the data: */\n/* */\n/* - The total shows ONLY when every line is priced. `priceCents` is */\n/* optional because prices are withheld from viewers without the */\n/* permission, and summing what is visible states a confident, wrong */\n/* figure. */\n/* - It is labelled as the APPOINTMENT's total, never a bare \"Total\": a */\n/* plan can run to many treatments and only some are scheduled here. */\n/* - The tooth element is DATA, not decoration, so it stays a chip. */\n/* */\n/* Read-only. It exists because the shape was being rebuilt from Tag, */\n/* Money and Badge per surface, and the total rule was the part dropped. */\n/* -------------------------------------------------------------------- */\n\nconst MUTED = 'type-label ds:text-[color:var(--muted-foreground)]';\n\nconst lineVariants = cva(\n [\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]',\n 'ds:py-[var(--spacing-xs)]',\n // Dashed between lines, like a printed receipt; the last line hands the\n // solid rule over to the total below it.\n 'ds:border-b ds:border-dashed ds:border-[color:var(--border)]',\n 'ds:last:border-b-0',\n ].join(' '),\n);\n\nconst totalVariants = cva(\n [\n 'ds:mt-[var(--spacing-xs)] ds:flex ds:items-baseline ds:justify-between',\n 'ds:gap-[var(--spacing-sm)] ds:pt-[var(--spacing-xs)]',\n 'ds:border-t ds:border-[color:var(--border)]',\n ].join(' '),\n);\n\nexport interface TreatmentReceiptLine {\n /** Stable key for the line. */\n id: string;\n /** Treatment name, as the price list prints it. */\n name: string;\n /** Price-list code, shown muted after the name. */\n code?: string;\n /** Dental elements as the platform prints them (\"36, 37\"). */\n elementsLabel?: string;\n /** Plan phases this line belongs to. */\n phases?: string[];\n /** The treatment has been carried out. */\n done?: boolean;\n /** The treatment has been invoiced. */\n billed?: boolean;\n /** Minor units. Absent means prices are withheld from this viewer. */\n priceCents?: number;\n}\n\nexport interface TreatmentReceiptProps extends HTMLAttributes<HTMLDivElement> {\n lines: TreatmentReceiptLine[];\n /** BCP 47 locale for the amounts. Defaults to Money's own default. */\n locale?: string;\n /** ISO 4217 code. Defaults to Money's own default. */\n currency?: string;\n /**\n * The treatments are being read. With no `lines` yet it shows placeholder\n * receipt lines and no total. With lines already on screen (a refresh) it\n * keeps them and only sets `aria-busy`.\n */\n loading?: boolean;\n /** Placeholder lines shown while `loading`. Default `2`. */\n loadingLines?: number;\n /** Label of the total row. Defaults to the kit's \"Total for this appointment\". */\n totalLabel?: string;\n}\n\nexport const TreatmentReceipt = forwardRef<\n HTMLDivElement,\n TreatmentReceiptProps\n>(\n (\n {\n lines,\n locale,\n currency,\n totalLabel,\n loading = false,\n loadingLines = 2,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation('ui');\n /* Settle in only when this content REPLACES a skeleton. Content that was\n simply there from the start must not fade: it would read as invisible\n for one animation to any test or reader that looks at once. */\n const followedLoading = useRef(false);\n if (loading) followedLoading.current = true;\n const enterClass = followedLoading.current ? CONTENT_ENTER_CLASS : '';\n\n const everyLinePriced =\n lines.length > 0 && lines.every((line) => line.priceCents !== undefined);\n const totalCents = lines.reduce(\n (sum, line) => sum + (line.priceCents ?? 0),\n 0,\n );\n\n // First read only: a refresh keeps the lines it has and marks them busy.\n if (loading && lines.length === 0) {\n return (\n <div\n {...rest}\n ref={ref}\n data-component=\"treatment-receipt\"\n data-loading=\"\"\n aria-busy=\"true\"\n className={['ds:flex ds:flex-col', className]\n .filter(Boolean)\n .join(' ')}\n >\n <ul\n aria-hidden=\"true\"\n className=\"ds:m-0 ds:flex ds:list-none ds:flex-col ds:p-0\"\n >\n {Array.from({ length: Math.max(1, loadingLines) }, (_, index) => (\n <li key={index} className={lineVariants()}>\n <div className=\"ds:flex ds:items-center ds:gap-[var(--spacing-sm)]\">\n <Skeleton\n variant=\"text\"\n size=\"sm\"\n stagger={index * 2}\n width={index % 2 === 0 ? '60%' : '40%'}\n />\n <Skeleton\n variant=\"text\"\n size=\"sm\"\n stagger={index * 2 + 1}\n width=\"var(--spacing-2xl)\"\n className=\"ds:ms-auto ds:shrink-0\"\n />\n </div>\n </li>\n ))}\n </ul>\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n data-component=\"treatment-receipt\"\n aria-busy={loading || undefined}\n className={['ds:flex ds:flex-col', className].filter(Boolean).join(' ')}\n {...rest}\n >\n <ul\n className={`ds:m-0 ds:flex ds:list-none ds:flex-col ds:p-0 ${enterClass}`.trim()}\n >\n {lines.map((line) => {\n const phases = line.phases ?? [];\n const hasSubLine = phases.length > 0 || line.done || line.billed;\n return (\n <li\n key={line.id}\n data-treatment-receipt-line=\"\"\n className={lineVariants()}\n >\n <div className=\"ds:flex ds:items-baseline ds:gap-[var(--spacing-sm)]\">\n <span className=\"ds:flex ds:min-w-0 ds:flex-1 ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)] type-body-sm\">\n {line.name}\n {line.code ? (\n <span className={`${MUTED} ds:tabular-nums`}>\n {line.code}\n </span>\n ) : null}\n {line.elementsLabel ? (\n <Tag\n size=\"sm\"\n variant=\"info\"\n label={line.elementsLabel}\n />\n ) : null}\n </span>\n {line.priceCents !== undefined ? (\n <Money\n value={line.priceCents}\n locale={locale}\n currency={currency}\n decimals=\"muted\"\n className=\"ds:shrink-0\"\n />\n ) : null}\n </div>\n {hasSubLine ? (\n <div className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]\">\n {phases.length > 0 ? (\n <span className={MUTED}>\n {t('treatmentReceipt.phases', {\n phases: phases.join(', '),\n })}\n </span>\n ) : null}\n {line.done ? (\n <Badge variant=\"success\" size=\"sm\" withDot>\n {t('treatmentReceipt.done')}\n </Badge>\n ) : null}\n {line.billed ? (\n <Badge variant=\"neutral\" size=\"sm\">\n {t('treatmentReceipt.billed')}\n </Badge>\n ) : null}\n </div>\n ) : null}\n </li>\n );\n })}\n </ul>\n {everyLinePriced ? (\n <div data-treatment-receipt-total=\"\" className={totalVariants()}>\n <span className=\"type-body-sm ds:font-medium\">\n {totalLabel ?? t('treatmentReceipt.total')}\n </span>\n <Money\n value={totalCents}\n locale={locale}\n currency={currency}\n decimals=\"muted\"\n className=\"ds:font-semibold\"\n />\n </div>\n ) : null}\n </div>\n );\n },\n);\nTreatmentReceipt.displayName = 'TreatmentReceipt';\n"],"names":["MUTED","lineVariants","cva","totalVariants","TreatmentReceipt","forwardRef","lines","locale","currency","totalLabel","loading","loadingLines","className","rest","ref","t","useTranslation","followedLoading","useRef","enterClass","CONTENT_ENTER_CLASS","everyLinePriced","line","totalCents","sum","jsx","_","index","jsxs","Skeleton","phases","hasSubLine","Tag","Money","Badge"],"mappings":"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"}
@@ -13,15 +13,15 @@ import { I as Lt } from "./icon-button-C_1TgRiK.js";
13
13
  import { B as tn } from "./button-group-DCOJhvm3.js";
14
14
  import { D as Oe } from "./dropdown-menu-D1we7oAY.js";
15
15
  import { E as zt } from "./editable-description-ChGNdYY8.js";
16
- import { N as Xe } from "./note-timeline-CwxPQ2Ak.js";
16
+ import { N as Xe } from "./note-timeline-DDqNU46n.js";
17
17
  import { P as Ot } from "./panel-header-BJkaUwnl.js";
18
18
  import { P as Ge } from "./panel-subview-yP4qIbKS.js";
19
- import { P as _t } from "./patient-summary-card-cmqjIXMk.js";
19
+ import { P as _t } from "./patient-summary-card-CuDLo8MP.js";
20
20
  import { S as ne } from "./section-card-D5nWiTcK.js";
21
21
  import { C as nn, S as ue } from "./skeleton-B1KTdJ4N.js";
22
22
  import { T as an } from "./text-area-COMVJ1yE.js";
23
23
  import { T as sn } from "./tooltip-uEBdD1-5.js";
24
- import { T as Bt } from "./treatment-receipt-BdJ36vNP.js";
24
+ import { T as Bt } from "./treatment-receipt-Cpm8tqQN.js";
25
25
  import { a as Nt } from "./whatsapp-button-DV9JFmtq.js";
26
26
  import { a as Ft, W as on } from "./workflow-status-Dc_CyEz5.js";
27
27
  import { u as ot, a as At, i as rn } from "./appointment-workflow-status-DMjuIK90.js";
@@ -53,7 +53,7 @@ import { P as vn } from "./phone-FceYcIFQ.js";
53
53
  import { M as yn } from "./mail-BqXVF2zH.js";
54
54
  import { M as bn } from "./map-pin-BaY37-Km.js";
55
55
  import { C as kn } from "./calendar-days-BGWklvE-.js";
56
- import { H as wn } from "./patient-field-row-C8ymfffP.js";
56
+ import { H as wn } from "./patient-field-row-CBXhlfGD.js";
57
57
  import { A as It } from "./armchair-BaLDW6Hz.js";
58
58
  import { B as xn } from "./building-2-D33bLCWL.js";
59
59
  import { N as Nn } from "./notebook-pen-CO7HoM-W.js";
@@ -2195,4 +2195,4 @@ export {
2195
2195
  Kn as s,
2196
2196
  _s as u
2197
2197
  };
2198
- //# sourceMappingURL=use-appointment-details-read-D6Gb_OuN.js.map
2198
+ //# sourceMappingURL=use-appointment-details-read-B-FEWbQM.js.map