@alfadocs/ui-kit-debug 1.68.0 → 1.70.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 (160) hide show
  1. package/dist/_chunks/{alia-sidebar-B06ZSOaF.js → alia-sidebar-DEMMoefU.js} +3 -3
  2. package/dist/_chunks/{alia-sidebar-B06ZSOaF.js.map → alia-sidebar-DEMMoefU.js.map} +1 -1
  3. package/dist/_chunks/{anamnesis-card-CsUBOG32.js → anamnesis-card-Bey9qQu4.js} +2 -2
  4. package/dist/_chunks/{anamnesis-card-CsUBOG32.js.map → anamnesis-card-Bey9qQu4.js.map} +1 -1
  5. package/dist/_chunks/{anamnesis-summary-rows-CNK0fIJk.js → anamnesis-summary-rows-rNwSrNWZ.js} +2 -2
  6. package/dist/_chunks/{anamnesis-summary-rows-CNK0fIJk.js.map → anamnesis-summary-rows-rNwSrNWZ.js.map} +1 -1
  7. package/dist/_chunks/{appointment-peek-D5XCfYKu.js → appointment-peek-CpcqB8oO.js} +2 -2
  8. package/dist/_chunks/{appointment-peek-D5XCfYKu.js.map → appointment-peek-CpcqB8oO.js.map} +1 -1
  9. package/dist/_chunks/{calendar-workspace-CYK1M83j.js → calendar-workspace-Ct8_454k.js} +3 -3
  10. package/dist/_chunks/{calendar-workspace-CYK1M83j.js.map → calendar-workspace-Ct8_454k.js.map} +1 -1
  11. package/dist/_chunks/{chat-message-Be-9vIIQ.js → chat-message-C2VXQMoB.js} +2 -2
  12. package/dist/_chunks/{chat-message-Be-9vIIQ.js.map → chat-message-C2VXQMoB.js.map} +1 -1
  13. package/dist/_chunks/{code-block-vwEv1jEa.js → code-block-RSKdF3E-.js} +35 -35
  14. package/dist/_chunks/code-block-RSKdF3E-.js.map +1 -0
  15. package/dist/_chunks/{connection-status--wYsgreh.js → connection-status-BOZC5QU5.js} +2 -2
  16. package/dist/_chunks/{connection-status--wYsgreh.js.map → connection-status-BOZC5QU5.js.map} +1 -1
  17. package/dist/_chunks/{description-list-Q8640NHu.js → description-list-DQQ2OA_t.js} +68 -66
  18. package/dist/_chunks/description-list-DQQ2OA_t.js.map +1 -0
  19. package/dist/_chunks/{optical-prescription-ulXnDbBe.js → optical-prescription-D5c7FBlT.js} +2 -2
  20. package/dist/_chunks/{optical-prescription-ulXnDbBe.js.map → optical-prescription-D5c7FBlT.js.map} +1 -1
  21. package/dist/_chunks/{patient-details-C4Dyo7Ck.js → patient-details-qWOsn1MX.js} +3 -3
  22. package/dist/_chunks/{patient-details-C4Dyo7Ck.js.map → patient-details-qWOsn1MX.js.map} +1 -1
  23. package/dist/_chunks/{patient-field-row-DROvUkFu.js → patient-field-row-CAl5ydtX.js} +2 -2
  24. package/dist/_chunks/{patient-field-row-DROvUkFu.js.map → patient-field-row-CAl5ydtX.js.map} +1 -1
  25. package/dist/_chunks/{patient-summary-card-CAimxbuI.js → patient-summary-card-BhuRh9AE.js} +2 -2
  26. package/dist/_chunks/{patient-summary-card-CAimxbuI.js.map → patient-summary-card-BhuRh9AE.js.map} +1 -1
  27. package/dist/_chunks/{payment-request-card-0DjQgVgX.js → payment-request-card-bysjRZrP.js} +2 -2
  28. package/dist/_chunks/{payment-request-card-0DjQgVgX.js.map → payment-request-card-bysjRZrP.js.map} +1 -1
  29. package/dist/_chunks/{reviews-panel-CosDZyow.js → reviews-panel-sbsVmmCA.js} +2 -2
  30. package/dist/_chunks/{reviews-panel-CosDZyow.js.map → reviews-panel-sbsVmmCA.js.map} +1 -1
  31. package/dist/_chunks/{streaming-text-zFViGexf.js → streaming-text-DbqKTsmj.js} +2 -2
  32. package/dist/_chunks/{streaming-text-zFViGexf.js.map → streaming-text-DbqKTsmj.js.map} +1 -1
  33. package/dist/_chunks/{use-appointment-details-read-CUGfE0hV.js → use-appointment-details-read-1gjZuup4.js} +3 -3
  34. package/dist/_chunks/{use-appointment-details-read-CUGfE0hV.js.map → use-appointment-details-read-1gjZuup4.js.map} +1 -1
  35. package/dist/_chunks/workflow-webhook-action-D6K7Jgc2.js +832 -0
  36. package/dist/_chunks/workflow-webhook-action-D6K7Jgc2.js.map +1 -0
  37. package/dist/agent-catalog.json +110 -1
  38. package/dist/agent-i18n/en.json +10 -0
  39. package/dist/components/_shared/code-block.d.ts +6 -0
  40. package/dist/components/_shared/code-block.d.ts.map +1 -1
  41. package/dist/components/anamnesis-card/index.js +1 -1
  42. package/dist/components/appointment-details-panel/index.js +1 -1
  43. package/dist/components/appointment-peek/index.js +1 -1
  44. package/dist/components/chat-message/index.js +1 -1
  45. package/dist/components/connection-status/index.js +1 -1
  46. package/dist/components/description-list/description-list.d.ts.map +1 -1
  47. package/dist/components/description-list/index.js +1 -1
  48. package/dist/components/index.d.ts +1 -0
  49. package/dist/components/index.d.ts.map +1 -1
  50. package/dist/components/optical-prescription/index.js +1 -1
  51. package/dist/components/patient-details/index.js +1 -1
  52. package/dist/components/patient-summary-card/index.js +1 -1
  53. package/dist/components/payment-card/index.js +1 -1
  54. package/dist/components/reviews-panel/index.js +1 -1
  55. package/dist/components/streaming-text/index.js +1 -1
  56. package/dist/i18n/locales/ar.d.ts +67 -0
  57. package/dist/i18n/locales/ar.d.ts.map +1 -1
  58. package/dist/i18n/locales/ar.js +67 -0
  59. package/dist/i18n/locales/ar.js.map +1 -1
  60. package/dist/i18n/locales/de.d.ts +67 -0
  61. package/dist/i18n/locales/de.d.ts.map +1 -1
  62. package/dist/i18n/locales/de.js +67 -0
  63. package/dist/i18n/locales/de.js.map +1 -1
  64. package/dist/i18n/locales/el.d.ts +67 -0
  65. package/dist/i18n/locales/el.d.ts.map +1 -1
  66. package/dist/i18n/locales/el.js +67 -0
  67. package/dist/i18n/locales/el.js.map +1 -1
  68. package/dist/i18n/locales/en.d.ts +67 -0
  69. package/dist/i18n/locales/en.d.ts.map +1 -1
  70. package/dist/i18n/locales/en.js +67 -0
  71. package/dist/i18n/locales/en.js.map +1 -1
  72. package/dist/i18n/locales/es.d.ts +67 -0
  73. package/dist/i18n/locales/es.d.ts.map +1 -1
  74. package/dist/i18n/locales/es.js +67 -0
  75. package/dist/i18n/locales/es.js.map +1 -1
  76. package/dist/i18n/locales/fr.d.ts +67 -0
  77. package/dist/i18n/locales/fr.d.ts.map +1 -1
  78. package/dist/i18n/locales/fr.js +67 -0
  79. package/dist/i18n/locales/fr.js.map +1 -1
  80. package/dist/i18n/locales/hi.d.ts +67 -0
  81. package/dist/i18n/locales/hi.d.ts.map +1 -1
  82. package/dist/i18n/locales/hi.js +67 -0
  83. package/dist/i18n/locales/hi.js.map +1 -1
  84. package/dist/i18n/locales/it.d.ts +67 -0
  85. package/dist/i18n/locales/it.d.ts.map +1 -1
  86. package/dist/i18n/locales/it.js +67 -0
  87. package/dist/i18n/locales/it.js.map +1 -1
  88. package/dist/i18n/locales/ja.d.ts +67 -0
  89. package/dist/i18n/locales/ja.d.ts.map +1 -1
  90. package/dist/i18n/locales/ja.js +67 -0
  91. package/dist/i18n/locales/ja.js.map +1 -1
  92. package/dist/i18n/locales/nl.d.ts +67 -0
  93. package/dist/i18n/locales/nl.d.ts.map +1 -1
  94. package/dist/i18n/locales/nl.js +67 -0
  95. package/dist/i18n/locales/nl.js.map +1 -1
  96. package/dist/i18n/locales/pl.d.ts +67 -0
  97. package/dist/i18n/locales/pl.d.ts.map +1 -1
  98. package/dist/i18n/locales/pl.js +67 -0
  99. package/dist/i18n/locales/pl.js.map +1 -1
  100. package/dist/i18n/locales/pt.d.ts +67 -0
  101. package/dist/i18n/locales/pt.d.ts.map +1 -1
  102. package/dist/i18n/locales/pt.js +67 -0
  103. package/dist/i18n/locales/pt.js.map +1 -1
  104. package/dist/i18n/locales/ro.d.ts +67 -0
  105. package/dist/i18n/locales/ro.d.ts.map +1 -1
  106. package/dist/i18n/locales/ro.js +67 -0
  107. package/dist/i18n/locales/ro.js.map +1 -1
  108. package/dist/i18n/locales/ru.d.ts +67 -0
  109. package/dist/i18n/locales/ru.d.ts.map +1 -1
  110. package/dist/i18n/locales/ru.js +67 -0
  111. package/dist/i18n/locales/ru.js.map +1 -1
  112. package/dist/i18n/locales/sq.d.ts +67 -0
  113. package/dist/i18n/locales/sq.d.ts.map +1 -1
  114. package/dist/i18n/locales/sq.js +67 -0
  115. package/dist/i18n/locales/sq.js.map +1 -1
  116. package/dist/i18n/locales/sv.d.ts +67 -0
  117. package/dist/i18n/locales/sv.d.ts.map +1 -1
  118. package/dist/i18n/locales/sv.js +67 -0
  119. package/dist/i18n/locales/sv.js.map +1 -1
  120. package/dist/i18n/locales/tr.d.ts +67 -0
  121. package/dist/i18n/locales/tr.d.ts.map +1 -1
  122. package/dist/i18n/locales/tr.js +67 -0
  123. package/dist/i18n/locales/tr.js.map +1 -1
  124. package/dist/i18n/locales/zh.d.ts +67 -0
  125. package/dist/i18n/locales/zh.d.ts.map +1 -1
  126. package/dist/i18n/locales/zh.js +67 -0
  127. package/dist/i18n/locales/zh.js.map +1 -1
  128. package/dist/index.js +120 -117
  129. package/dist/index.js.map +1 -1
  130. package/dist/locales/ar.json +67 -0
  131. package/dist/locales/de.json +67 -0
  132. package/dist/locales/el.json +67 -0
  133. package/dist/locales/en.json +67 -0
  134. package/dist/locales/es.json +67 -0
  135. package/dist/locales/fr.json +67 -0
  136. package/dist/locales/hi.json +67 -0
  137. package/dist/locales/it.json +67 -0
  138. package/dist/locales/ja.json +67 -0
  139. package/dist/locales/nl.json +67 -0
  140. package/dist/locales/pl.json +67 -0
  141. package/dist/locales/pt.json +67 -0
  142. package/dist/locales/ro.json +67 -0
  143. package/dist/locales/ru.json +67 -0
  144. package/dist/locales/sq.json +67 -0
  145. package/dist/locales/sv.json +67 -0
  146. package/dist/locales/tr.json +67 -0
  147. package/dist/locales/zh.json +67 -0
  148. package/dist/patterns/alia-assistant/index.js +1 -1
  149. package/dist/patterns/anamnesis/index.js +1 -1
  150. package/dist/patterns/calendar/index.js +1 -1
  151. package/dist/patterns/workflow-webhook-action/index.d.ts +3 -0
  152. package/dist/patterns/workflow-webhook-action/index.d.ts.map +1 -0
  153. package/dist/patterns/workflow-webhook-action/index.js +6 -0
  154. package/dist/patterns/workflow-webhook-action/index.js.map +1 -0
  155. package/dist/patterns/workflow-webhook-action/workflow-webhook-action.d.ts +119 -0
  156. package/dist/patterns/workflow-webhook-action/workflow-webhook-action.d.ts.map +1 -0
  157. package/dist/tokens.css +1 -1
  158. package/package.json +5 -1
  159. package/dist/_chunks/code-block-vwEv1jEa.js.map +0 -1
  160. package/dist/_chunks/description-list-Q8640NHu.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"anamnesis-card-CsUBOG32.js","sources":["../../src/components/anamnesis-card/anamnesis-card.tsx"],"sourcesContent":["import {\n forwardRef,\n useId,\n useMemo,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { TriangleAlert } from 'lucide-react';\nimport { Badge } from '../badge/badge';\nimport { Card } from '../card/card';\nimport {\n Accordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from '../accordion/accordion';\nimport { DescriptionList } from '../description-list/description-list';\nimport { Timestamp } from '../timestamp/timestamp';\n\n/* -------------------------------------------------------------------- */\n/* AnamnesisCard */\n/* */\n/* A completed medical-history questionnaire (anamnesi) rendered as a */\n/* collapsible interview. Replaces the bespoke \"scheda anamnestica\" */\n/* cards every clinical surface composes by hand: a header summarising */\n/* the form (compiled date, form name) with status chips, and a */\n/* collapsible body listing each question/answer pair as a */\n/* DescriptionList (dt = question, dd = answer). */\n/* */\n/* The clinical red-flag count (`highlightedAnswerCount`) is the most */\n/* prominent signal: an `error` Badge carrying a NON-colour cue */\n/* (warning glyph + dot) so colour-blind clinicians still read it. The */\n/* expired / corrupted statuses surface as warning / error chips beside */\n/* it. Per-answer `highlight` flags emphasise the matching rows inside */\n/* the interview. */\n/* */\n/* All visible text flows through `useTranslation('ui')` against the */\n/* `anamnesisCard.*` namespace. Consumers pass IDENTIFIERS + structural */\n/* data; the kit owns the chrome + i18n. No PHI lives in the agent layer. */\n/* -------------------------------------------------------------------- */\n\n/* -------------------------------------------------------------------- */\n/* CVA — root */\n/* -------------------------------------------------------------------- */\n\nconst rootVariants = cva('ds:w-full ds:text-[color:var(--foreground)]', {\n variants: {\n // Matches the kit's other `surface` props. `'elevated'` (default)\n // wraps in `<Card variant=\"elevated\">`; `'flat'` drops the chrome\n // for use inside an existing Card / Sheet.\n surface: {\n flat: '',\n elevated: '',\n },\n },\n defaultVariants: { surface: 'elevated' },\n});\n\n/* -------------------------------------------------------------------- */\n/* Public types */\n/* -------------------------------------------------------------------- */\n\nexport interface AnamnesisCardAnswer {\n /** The questionnaire question text. Rendered as the `<dt>` term. */\n question: string;\n /** The patient's recorded answer. Rendered as the `<dd>` detail. */\n answer: ReactNode;\n /**\n * Marks this row as a clinical red-flag answer. Highlighted rows render\n * a `bordered` divider + an inline-end warning chip so they stand out\n * within the interview body — with the warning glyph carrying the cue,\n * not colour alone.\n */\n highlight?: boolean;\n}\n\nexport interface AnamnesisCardStatus {\n /** The questionnaire is past its validity window — surfaces a warning chip. */\n expired?: boolean;\n /** The submission is corrupted / incomplete — surfaces an error chip. */\n corrupted?: boolean;\n}\n\nexport interface AnamnesisCardProps extends Omit<\n ComponentPropsWithoutRef<'div'>,\n 'aria-label' | 'children' | 'title'\n> {\n /**\n * The questionnaire's compiled / reference date as an ISO-8601 string.\n * Rendered as an absolute `<Timestamp>` in the header.\n */\n dateIso: string;\n /**\n * Optional submission / creation timestamp as an ISO-8601 string.\n * Rendered as a relative `<Timestamp>` caption beneath the heading.\n */\n createdAtIso?: string;\n /**\n * Form / template name (e.g. \"Anamnesi generale\"). When omitted, a\n * localised generic heading is used.\n */\n formName?: string;\n /**\n * Count of answers flagged as clinical red-flags. When `> 0`, renders\n * the prominent `error` Badge with a warning glyph + colour-blind dot.\n * Omit / `0` hides the chip.\n */\n highlightedAnswerCount?: number;\n /** Lifecycle / integrity status — drives the warning / error chips. */\n status?: AnamnesisCardStatus;\n /**\n * The question/answer pairs. Rendered inside the collapsible interview\n * as a `<DescriptionList>` (dt = question, dd = answer). When empty or\n * omitted, the interview shows a localised \"no answers\" line.\n */\n answers?: AnamnesisCardAnswer[];\n /**\n * `'elevated'` (default) wraps in `<Card variant=\"elevated\">`. `'flat'`\n * drops the Card — use inside another card / sheet.\n */\n surface?: 'flat' | 'elevated';\n\n /* ----- a11y ----- */\n\n /** Override the default region aria-label. */\n 'aria-label'?: string;\n /** Agent-readiness consumer id, surfaced as `data-component-id`. */\n id?: string;\n}\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\nexport const AnamnesisCard = forwardRef<HTMLDivElement, AnamnesisCardProps>(\n (\n {\n dateIso,\n createdAtIso,\n formName,\n highlightedAnswerCount = 0,\n status,\n answers,\n surface = 'elevated',\n 'aria-label': ariaLabel,\n id,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation('ui');\n const headingId = useId();\n const accordionItemValue = useId();\n\n const resolvedFormName =\n formName ??\n t('anamnesisCard.defaultFormName', { defaultValue: 'Medical history' });\n const resolvedAriaLabel = ariaLabel ?? resolvedFormName;\n\n const hasFlags = highlightedAnswerCount > 0;\n const isExpired = status?.expired === true;\n const isCorrupted = status?.corrupted === true;\n\n const answerCount = answers?.length ?? 0;\n\n // Chip strip — the red-flag count first (most prominent), then the\n // integrity statuses. Each carries a non-colour cue (glyph / dot) so\n // colour-blind clinicians read the signal without relying on hue.\n const statusChips = useMemo<ReactNode>(() => {\n if (!hasFlags && !isExpired && !isCorrupted) return null;\n return (\n <div\n role=\"list\"\n aria-label={t('anamnesisCard.statusGroupLabel', {\n defaultValue: 'Questionnaire status',\n })}\n className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-2xs)]\"\n >\n {hasFlags ? (\n <Badge\n variant=\"error\"\n withDot\n leading={<TriangleAlert aria-hidden=\"true\" />}\n role=\"listitem\"\n >\n {t('anamnesisCard.status.highlighted', {\n count: highlightedAnswerCount,\n defaultValue: '{{count}} flagged answers',\n })}\n </Badge>\n ) : null}\n {isExpired ? (\n <Badge variant=\"warning\" withDot role=\"listitem\">\n {t('anamnesisCard.status.expired', { defaultValue: 'Expired' })}\n </Badge>\n ) : null}\n {isCorrupted ? (\n <Badge variant=\"error\" withDot role=\"listitem\">\n {t('anamnesisCard.status.corrupted', {\n defaultValue: 'Corrupted',\n })}\n </Badge>\n ) : null}\n </div>\n );\n }, [hasFlags, isExpired, isCorrupted, highlightedAnswerCount, t]);\n\n const header = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <div className=\"ds:flex ds:flex-wrap ds:items-start ds:gap-[var(--spacing-sm)]\">\n <h3\n id={headingId}\n className=\"type-title-card ds:m-0 ds:text-[color:var(--foreground)]\"\n >\n {resolvedFormName}\n </h3>\n {statusChips ? (\n <div className=\"ds:ms-auto ds:flex ds:shrink-0 ds:items-center\">\n {statusChips}\n </div>\n ) : null}\n </div>\n <p className=\"type-body-sm ds:m-0 ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)] ds:text-[color:var(--muted-foreground)]\">\n <span>\n {t('anamnesisCard.compiledOn', { defaultValue: 'Compiled' })}{' '}\n <Timestamp value={dateIso} format=\"absolute\" shape=\"bare\" />\n </span>\n {createdAtIso ? (\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n <span aria-hidden=\"true\">·</span>\n <span>\n {t('anamnesisCard.submitted', { defaultValue: 'Submitted' })}{' '}\n <Timestamp\n value={createdAtIso}\n format=\"relative\"\n shape=\"bare\"\n />\n </span>\n </span>\n ) : null}\n </p>\n </div>\n );\n\n const interview =\n answerCount > 0 ? (\n <DescriptionList layout=\"stacked\" density=\"compact\" divider=\"between\">\n {answers!.map((row, index) => (\n <DescriptionList.Row\n key={index}\n className={\n row.highlight\n ? 'ds:border ds:border-[color:var(--destructive)] ds:rounded-[var(--radius-sm)] ds:p-[var(--spacing-sm)]'\n : undefined\n }\n >\n <DescriptionList.Term>\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n <span>{row.question}</span>\n {row.highlight ? (\n <Badge\n variant=\"error\"\n size=\"sm\"\n withDot\n leading={<TriangleAlert aria-hidden=\"true\" />}\n aria-label={t('anamnesisCard.answerFlagLabel', {\n defaultValue: 'Flagged answer',\n })}\n />\n ) : null}\n </span>\n </DescriptionList.Term>\n <DescriptionList.Detail>{row.answer}</DescriptionList.Detail>\n </DescriptionList.Row>\n ))}\n </DescriptionList>\n ) : (\n <p className=\"type-body-sm ds:m-0 ds:text-[color:var(--muted-foreground)]\">\n {t('anamnesisCard.empty', {\n defaultValue: 'No answers were recorded.',\n })}\n </p>\n );\n\n const inner = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n {header}\n <Accordion type=\"single\" collapsible variant=\"separated\">\n <AccordionItem value={accordionItemValue}>\n <AccordionTrigger>\n {t('anamnesisCard.interviewToggle', {\n count: answerCount,\n defaultValue: 'Interview ({{count}} answers)',\n })}\n </AccordionTrigger>\n <AccordionContent>{interview}</AccordionContent>\n </AccordionItem>\n </Accordion>\n </div>\n );\n\n return (\n <div\n ref={ref}\n role=\"region\"\n aria-label={resolvedAriaLabel}\n aria-labelledby={headingId}\n data-component=\"anamnesis-card\"\n data-component-id={id}\n data-has-flags={hasFlags || undefined}\n id={id}\n className={rootVariants({ surface, className })}\n {...rest}\n >\n {surface === 'elevated' ? (\n <Card variant=\"elevated\">\n <Card.Body>{inner}</Card.Body>\n </Card>\n ) : (\n inner\n )}\n </div>\n );\n },\n);\n\nAnamnesisCard.displayName = 'AnamnesisCard';\n\nexport type AnamnesisCardSurface = NonNullable<\n VariantProps<typeof rootVariants>['surface']\n>;\n"],"names":["rootVariants","cva","AnamnesisCard","forwardRef","dateIso","createdAtIso","formName","highlightedAnswerCount","status","answers","surface","ariaLabel","id","className","rest","ref","t","useTranslation","headingId","useId","accordionItemValue","resolvedFormName","resolvedAriaLabel","hasFlags","isExpired","isCorrupted","answerCount","statusChips","useMemo","jsxs","jsx","Badge","TriangleAlert","header","Timestamp","interview","DescriptionList","row","index","inner","Accordion","AccordionItem","AccordionTrigger","AccordionContent","Card"],"mappings":"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"}
1
+ {"version":3,"file":"anamnesis-card-Bey9qQu4.js","sources":["../../src/components/anamnesis-card/anamnesis-card.tsx"],"sourcesContent":["import {\n forwardRef,\n useId,\n useMemo,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { TriangleAlert } from 'lucide-react';\nimport { Badge } from '../badge/badge';\nimport { Card } from '../card/card';\nimport {\n Accordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from '../accordion/accordion';\nimport { DescriptionList } from '../description-list/description-list';\nimport { Timestamp } from '../timestamp/timestamp';\n\n/* -------------------------------------------------------------------- */\n/* AnamnesisCard */\n/* */\n/* A completed medical-history questionnaire (anamnesi) rendered as a */\n/* collapsible interview. Replaces the bespoke \"scheda anamnestica\" */\n/* cards every clinical surface composes by hand: a header summarising */\n/* the form (compiled date, form name) with status chips, and a */\n/* collapsible body listing each question/answer pair as a */\n/* DescriptionList (dt = question, dd = answer). */\n/* */\n/* The clinical red-flag count (`highlightedAnswerCount`) is the most */\n/* prominent signal: an `error` Badge carrying a NON-colour cue */\n/* (warning glyph + dot) so colour-blind clinicians still read it. The */\n/* expired / corrupted statuses surface as warning / error chips beside */\n/* it. Per-answer `highlight` flags emphasise the matching rows inside */\n/* the interview. */\n/* */\n/* All visible text flows through `useTranslation('ui')` against the */\n/* `anamnesisCard.*` namespace. Consumers pass IDENTIFIERS + structural */\n/* data; the kit owns the chrome + i18n. No PHI lives in the agent layer. */\n/* -------------------------------------------------------------------- */\n\n/* -------------------------------------------------------------------- */\n/* CVA — root */\n/* -------------------------------------------------------------------- */\n\nconst rootVariants = cva('ds:w-full ds:text-[color:var(--foreground)]', {\n variants: {\n // Matches the kit's other `surface` props. `'elevated'` (default)\n // wraps in `<Card variant=\"elevated\">`; `'flat'` drops the chrome\n // for use inside an existing Card / Sheet.\n surface: {\n flat: '',\n elevated: '',\n },\n },\n defaultVariants: { surface: 'elevated' },\n});\n\n/* -------------------------------------------------------------------- */\n/* Public types */\n/* -------------------------------------------------------------------- */\n\nexport interface AnamnesisCardAnswer {\n /** The questionnaire question text. Rendered as the `<dt>` term. */\n question: string;\n /** The patient's recorded answer. Rendered as the `<dd>` detail. */\n answer: ReactNode;\n /**\n * Marks this row as a clinical red-flag answer. Highlighted rows render\n * a `bordered` divider + an inline-end warning chip so they stand out\n * within the interview body — with the warning glyph carrying the cue,\n * not colour alone.\n */\n highlight?: boolean;\n}\n\nexport interface AnamnesisCardStatus {\n /** The questionnaire is past its validity window — surfaces a warning chip. */\n expired?: boolean;\n /** The submission is corrupted / incomplete — surfaces an error chip. */\n corrupted?: boolean;\n}\n\nexport interface AnamnesisCardProps extends Omit<\n ComponentPropsWithoutRef<'div'>,\n 'aria-label' | 'children' | 'title'\n> {\n /**\n * The questionnaire's compiled / reference date as an ISO-8601 string.\n * Rendered as an absolute `<Timestamp>` in the header.\n */\n dateIso: string;\n /**\n * Optional submission / creation timestamp as an ISO-8601 string.\n * Rendered as a relative `<Timestamp>` caption beneath the heading.\n */\n createdAtIso?: string;\n /**\n * Form / template name (e.g. \"Anamnesi generale\"). When omitted, a\n * localised generic heading is used.\n */\n formName?: string;\n /**\n * Count of answers flagged as clinical red-flags. When `> 0`, renders\n * the prominent `error` Badge with a warning glyph + colour-blind dot.\n * Omit / `0` hides the chip.\n */\n highlightedAnswerCount?: number;\n /** Lifecycle / integrity status — drives the warning / error chips. */\n status?: AnamnesisCardStatus;\n /**\n * The question/answer pairs. Rendered inside the collapsible interview\n * as a `<DescriptionList>` (dt = question, dd = answer). When empty or\n * omitted, the interview shows a localised \"no answers\" line.\n */\n answers?: AnamnesisCardAnswer[];\n /**\n * `'elevated'` (default) wraps in `<Card variant=\"elevated\">`. `'flat'`\n * drops the Card — use inside another card / sheet.\n */\n surface?: 'flat' | 'elevated';\n\n /* ----- a11y ----- */\n\n /** Override the default region aria-label. */\n 'aria-label'?: string;\n /** Agent-readiness consumer id, surfaced as `data-component-id`. */\n id?: string;\n}\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\nexport const AnamnesisCard = forwardRef<HTMLDivElement, AnamnesisCardProps>(\n (\n {\n dateIso,\n createdAtIso,\n formName,\n highlightedAnswerCount = 0,\n status,\n answers,\n surface = 'elevated',\n 'aria-label': ariaLabel,\n id,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation('ui');\n const headingId = useId();\n const accordionItemValue = useId();\n\n const resolvedFormName =\n formName ??\n t('anamnesisCard.defaultFormName', { defaultValue: 'Medical history' });\n const resolvedAriaLabel = ariaLabel ?? resolvedFormName;\n\n const hasFlags = highlightedAnswerCount > 0;\n const isExpired = status?.expired === true;\n const isCorrupted = status?.corrupted === true;\n\n const answerCount = answers?.length ?? 0;\n\n // Chip strip — the red-flag count first (most prominent), then the\n // integrity statuses. Each carries a non-colour cue (glyph / dot) so\n // colour-blind clinicians read the signal without relying on hue.\n const statusChips = useMemo<ReactNode>(() => {\n if (!hasFlags && !isExpired && !isCorrupted) return null;\n return (\n <div\n role=\"list\"\n aria-label={t('anamnesisCard.statusGroupLabel', {\n defaultValue: 'Questionnaire status',\n })}\n className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-2xs)]\"\n >\n {hasFlags ? (\n <Badge\n variant=\"error\"\n withDot\n leading={<TriangleAlert aria-hidden=\"true\" />}\n role=\"listitem\"\n >\n {t('anamnesisCard.status.highlighted', {\n count: highlightedAnswerCount,\n defaultValue: '{{count}} flagged answers',\n })}\n </Badge>\n ) : null}\n {isExpired ? (\n <Badge variant=\"warning\" withDot role=\"listitem\">\n {t('anamnesisCard.status.expired', { defaultValue: 'Expired' })}\n </Badge>\n ) : null}\n {isCorrupted ? (\n <Badge variant=\"error\" withDot role=\"listitem\">\n {t('anamnesisCard.status.corrupted', {\n defaultValue: 'Corrupted',\n })}\n </Badge>\n ) : null}\n </div>\n );\n }, [hasFlags, isExpired, isCorrupted, highlightedAnswerCount, t]);\n\n const header = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <div className=\"ds:flex ds:flex-wrap ds:items-start ds:gap-[var(--spacing-sm)]\">\n <h3\n id={headingId}\n className=\"type-title-card ds:m-0 ds:text-[color:var(--foreground)]\"\n >\n {resolvedFormName}\n </h3>\n {statusChips ? (\n <div className=\"ds:ms-auto ds:flex ds:shrink-0 ds:items-center\">\n {statusChips}\n </div>\n ) : null}\n </div>\n <p className=\"type-body-sm ds:m-0 ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)] ds:text-[color:var(--muted-foreground)]\">\n <span>\n {t('anamnesisCard.compiledOn', { defaultValue: 'Compiled' })}{' '}\n <Timestamp value={dateIso} format=\"absolute\" shape=\"bare\" />\n </span>\n {createdAtIso ? (\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n <span aria-hidden=\"true\">·</span>\n <span>\n {t('anamnesisCard.submitted', { defaultValue: 'Submitted' })}{' '}\n <Timestamp\n value={createdAtIso}\n format=\"relative\"\n shape=\"bare\"\n />\n </span>\n </span>\n ) : null}\n </p>\n </div>\n );\n\n const interview =\n answerCount > 0 ? (\n <DescriptionList layout=\"stacked\" density=\"compact\" divider=\"between\">\n {answers!.map((row, index) => (\n <DescriptionList.Row\n key={index}\n className={\n row.highlight\n ? 'ds:border ds:border-[color:var(--destructive)] ds:rounded-[var(--radius-sm)] ds:p-[var(--spacing-sm)]'\n : undefined\n }\n >\n <DescriptionList.Term>\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n <span>{row.question}</span>\n {row.highlight ? (\n <Badge\n variant=\"error\"\n size=\"sm\"\n withDot\n leading={<TriangleAlert aria-hidden=\"true\" />}\n aria-label={t('anamnesisCard.answerFlagLabel', {\n defaultValue: 'Flagged answer',\n })}\n />\n ) : null}\n </span>\n </DescriptionList.Term>\n <DescriptionList.Detail>{row.answer}</DescriptionList.Detail>\n </DescriptionList.Row>\n ))}\n </DescriptionList>\n ) : (\n <p className=\"type-body-sm ds:m-0 ds:text-[color:var(--muted-foreground)]\">\n {t('anamnesisCard.empty', {\n defaultValue: 'No answers were recorded.',\n })}\n </p>\n );\n\n const inner = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n {header}\n <Accordion type=\"single\" collapsible variant=\"separated\">\n <AccordionItem value={accordionItemValue}>\n <AccordionTrigger>\n {t('anamnesisCard.interviewToggle', {\n count: answerCount,\n defaultValue: 'Interview ({{count}} answers)',\n })}\n </AccordionTrigger>\n <AccordionContent>{interview}</AccordionContent>\n </AccordionItem>\n </Accordion>\n </div>\n );\n\n return (\n <div\n ref={ref}\n role=\"region\"\n aria-label={resolvedAriaLabel}\n aria-labelledby={headingId}\n data-component=\"anamnesis-card\"\n data-component-id={id}\n data-has-flags={hasFlags || undefined}\n id={id}\n className={rootVariants({ surface, className })}\n {...rest}\n >\n {surface === 'elevated' ? (\n <Card variant=\"elevated\">\n <Card.Body>{inner}</Card.Body>\n </Card>\n ) : (\n inner\n )}\n </div>\n );\n },\n);\n\nAnamnesisCard.displayName = 'AnamnesisCard';\n\nexport type AnamnesisCardSurface = NonNullable<\n VariantProps<typeof rootVariants>['surface']\n>;\n"],"names":["rootVariants","cva","AnamnesisCard","forwardRef","dateIso","createdAtIso","formName","highlightedAnswerCount","status","answers","surface","ariaLabel","id","className","rest","ref","t","useTranslation","headingId","useId","accordionItemValue","resolvedFormName","resolvedAriaLabel","hasFlags","isExpired","isCorrupted","answerCount","statusChips","useMemo","jsxs","jsx","Badge","TriangleAlert","header","Timestamp","interview","DescriptionList","row","index","inner","Accordion","AccordionItem","AccordionTrigger","AccordionContent","Card"],"mappings":"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"}
@@ -18,7 +18,7 @@ import { S as te } from "./state-backed-text-input-Cgh4ms3p.js";
18
18
  import { T as Ze } from "./timestamp-DPLDWdxA.js";
19
19
  import { D as sn } from "./date-picker-KcoNNsM0.js";
20
20
  import { A as Ue } from "./alert-9kEwDza3.js";
21
- import { D as L } from "./description-list-Q8640NHu.js";
21
+ import { D as L } from "./description-list-DQQ2OA_t.js";
22
22
  import { c as Xt } from "./index-D2ZczOXr.js";
23
23
  import { S as dn } from "./sparkline-SnniCoCl.js";
24
24
  import { A as ei, a as ai } from "./arrow-up-BYvcvTkB.js";
@@ -20928,4 +20928,4 @@ export {
20928
20928
  Vi as t,
20929
20929
  ld as u
20930
20930
  };
20931
- //# sourceMappingURL=anamnesis-summary-rows-CNK0fIJk.js.map
20931
+ //# sourceMappingURL=anamnesis-summary-rows-rNwSrNWZ.js.map