@alfadocs/ui-kit-debug 1.33.0 → 1.34.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 (193) hide show
  1. package/dist/_chunks/{appointment-card-D-oj_ugh.js → appointment-card-D6mk39NB.js} +3 -3
  2. package/dist/_chunks/{appointment-card-D-oj_ugh.js.map → appointment-card-D6mk39NB.js.map} +1 -1
  3. package/dist/_chunks/{appointment-timeline-CymGHyIP.js → appointment-timeline-D-V97Bhc.js} +2 -2
  4. package/dist/_chunks/{appointment-timeline-CymGHyIP.js.map → appointment-timeline-D-V97Bhc.js.map} +1 -1
  5. package/dist/_chunks/{appointment-tray-DCk8gHod.js → appointment-tray-6rg071CL.js} +2 -2
  6. package/dist/_chunks/{appointment-tray-DCk8gHod.js.map → appointment-tray-6rg071CL.js.map} +1 -1
  7. package/dist/_chunks/{calendar-workspace-BX-zDyVR.js → calendar-workspace-4NH1Z47_.js} +7 -7
  8. package/dist/_chunks/{calendar-workspace-BX-zDyVR.js.map → calendar-workspace-4NH1Z47_.js.map} +1 -1
  9. package/dist/_chunks/{clinical-note-card-D2WTV2CO.js → clinical-note-card-CTRzmqvv.js} +83 -81
  10. package/dist/_chunks/clinical-note-card-CTRzmqvv.js.map +1 -0
  11. package/dist/_chunks/{contact-profile-card-BZqi8Hck.js → contact-profile-card-DSI9uumA.js} +17 -16
  12. package/dist/_chunks/{contact-profile-card-BZqi8Hck.js.map → contact-profile-card-DSI9uumA.js.map} +1 -1
  13. package/dist/_chunks/{control-room-rail-iO_BCaq1.js → control-room-rail-5MbhjsxN.js} +2 -2
  14. package/dist/_chunks/{control-room-rail-iO_BCaq1.js.map → control-room-rail-5MbhjsxN.js.map} +1 -1
  15. package/dist/_chunks/format-price-BkMEbeW3.js +47 -0
  16. package/dist/_chunks/format-price-BkMEbeW3.js.map +1 -0
  17. package/dist/_chunks/{format-price-DNqXPa_q.js → languages-CZqBaPwI.js} +8 -38
  18. package/dist/_chunks/languages-CZqBaPwI.js.map +1 -0
  19. package/dist/_chunks/money.agent-Dw55UxUA.js +116 -0
  20. package/dist/_chunks/money.agent-Dw55UxUA.js.map +1 -0
  21. package/dist/_chunks/notes-panel-BjLt-kiP.js +469 -0
  22. package/dist/_chunks/notes-panel-BjLt-kiP.js.map +1 -0
  23. package/dist/_chunks/{practice-results-DjEzPgAK.js → practice-results-kayDEorM.js} +15 -14
  24. package/dist/_chunks/{practice-results-DjEzPgAK.js.map → practice-results-kayDEorM.js.map} +1 -1
  25. package/dist/_chunks/{rich-text-editor-CQ7yZdG3.js → rich-text-editor-CCI-Y3DN.js} +3 -5
  26. package/dist/_chunks/rich-text-editor-CCI-Y3DN.js.map +1 -0
  27. package/dist/_chunks/{task-card-BUgK6yZT.js → task-card-BalrLkSz.js} +41 -40
  28. package/dist/_chunks/task-card-BalrLkSz.js.map +1 -0
  29. package/dist/_chunks/{task-tray-CYG6rj2s.js → task-tray-COo-RlDv.js} +2 -2
  30. package/dist/_chunks/{task-tray-CYG6rj2s.js.map → task-tray-COo-RlDv.js.map} +1 -1
  31. package/dist/_chunks/tasks-panel-DLKpSNoE.js +844 -0
  32. package/dist/_chunks/tasks-panel-DLKpSNoE.js.map +1 -0
  33. package/dist/_chunks/tool-rail-ONaV-Nzz.js +588 -0
  34. package/dist/_chunks/tool-rail-ONaV-Nzz.js.map +1 -0
  35. package/dist/_chunks/use-check-animation--I3cS00X.js +28 -0
  36. package/dist/_chunks/use-check-animation--I3cS00X.js.map +1 -0
  37. package/dist/_chunks/use-list-reflow-Cw43nxw5.js +100 -0
  38. package/dist/_chunks/use-list-reflow-Cw43nxw5.js.map +1 -0
  39. package/dist/agent-catalog.json +15 -1
  40. package/dist/components/_shared/format-price.d.ts +15 -0
  41. package/dist/components/_shared/format-price.d.ts.map +1 -1
  42. package/dist/components/appointment-card/appointment-card.d.ts.map +1 -1
  43. package/dist/components/appointment-card/index.js +2 -2
  44. package/dist/components/appointment-timeline/index.js +1 -1
  45. package/dist/components/clinical-note-card/clinical-note-card.d.ts +8 -1
  46. package/dist/components/clinical-note-card/clinical-note-card.d.ts.map +1 -1
  47. package/dist/components/clinical-note-card/index.js +1 -1
  48. package/dist/components/command-palette/command-palette.d.ts +7 -7
  49. package/dist/components/contact-profile-card/index.js +1 -1
  50. package/dist/components/control-room-rail/index.js +1 -1
  51. package/dist/components/index.d.ts +1 -0
  52. package/dist/components/index.d.ts.map +1 -1
  53. package/dist/components/money/index.d.ts +4 -0
  54. package/dist/components/money/index.d.ts.map +1 -0
  55. package/dist/components/money/index.js +6 -0
  56. package/dist/components/money/index.js.map +1 -0
  57. package/dist/components/money/money.agent.d.ts +3 -0
  58. package/dist/components/money/money.agent.d.ts.map +1 -0
  59. package/dist/components/money/money.d.ts +38 -0
  60. package/dist/components/money/money.d.ts.map +1 -0
  61. package/dist/components/notes-panel/index.js +1 -1
  62. package/dist/components/notes-panel/notes-panel.d.ts +16 -1
  63. package/dist/components/notes-panel/notes-panel.d.ts.map +1 -1
  64. package/dist/components/practice-results/index.js +1 -1
  65. package/dist/components/rich-text-editor/help-me-write-overlay.d.ts.map +1 -1
  66. package/dist/components/rich-text-editor/index.js +1 -1
  67. package/dist/components/rich-text-editor/rich-text-editor.d.ts +1 -1
  68. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
  69. package/dist/components/task-card/index.js +1 -1
  70. package/dist/components/task-card/task-card.d.ts +11 -3
  71. package/dist/components/task-card/task-card.d.ts.map +1 -1
  72. package/dist/components/task-tray/index.js +1 -1
  73. package/dist/components/tasks-panel/index.js +1 -1
  74. package/dist/components/tasks-panel/tasks-panel.d.ts +1 -1
  75. package/dist/components/tasks-panel/tasks-panel.d.ts.map +1 -1
  76. package/dist/components/tool-rail/index.js +1 -1
  77. package/dist/components/tool-rail/tool-rail.d.ts.map +1 -1
  78. package/dist/hooks/index.d.ts +3 -0
  79. package/dist/hooks/index.d.ts.map +1 -1
  80. package/dist/hooks/index.js +43 -37
  81. package/dist/hooks/index.js.map +1 -1
  82. package/dist/hooks/use-check-animation.d.ts +53 -0
  83. package/dist/hooks/use-check-animation.d.ts.map +1 -0
  84. package/dist/hooks/use-exit-transition.d.ts +48 -0
  85. package/dist/hooks/use-exit-transition.d.ts.map +1 -0
  86. package/dist/hooks/use-list-reflow.d.ts +47 -0
  87. package/dist/hooks/use-list-reflow.d.ts.map +1 -0
  88. package/dist/host-compat.css +8 -2
  89. package/dist/i18n/locales/ar.d.ts +5 -0
  90. package/dist/i18n/locales/ar.d.ts.map +1 -1
  91. package/dist/i18n/locales/ar.js +6 -1
  92. package/dist/i18n/locales/ar.js.map +1 -1
  93. package/dist/i18n/locales/de.d.ts +5 -0
  94. package/dist/i18n/locales/de.d.ts.map +1 -1
  95. package/dist/i18n/locales/de.js +6 -1
  96. package/dist/i18n/locales/de.js.map +1 -1
  97. package/dist/i18n/locales/el.d.ts +5 -0
  98. package/dist/i18n/locales/el.d.ts.map +1 -1
  99. package/dist/i18n/locales/el.js +6 -1
  100. package/dist/i18n/locales/el.js.map +1 -1
  101. package/dist/i18n/locales/en.d.ts +5 -0
  102. package/dist/i18n/locales/en.d.ts.map +1 -1
  103. package/dist/i18n/locales/en.js +6 -1
  104. package/dist/i18n/locales/en.js.map +1 -1
  105. package/dist/i18n/locales/es.d.ts +5 -0
  106. package/dist/i18n/locales/es.d.ts.map +1 -1
  107. package/dist/i18n/locales/es.js +6 -1
  108. package/dist/i18n/locales/es.js.map +1 -1
  109. package/dist/i18n/locales/fr.d.ts +5 -0
  110. package/dist/i18n/locales/fr.d.ts.map +1 -1
  111. package/dist/i18n/locales/fr.js +6 -1
  112. package/dist/i18n/locales/fr.js.map +1 -1
  113. package/dist/i18n/locales/hi.d.ts +5 -0
  114. package/dist/i18n/locales/hi.d.ts.map +1 -1
  115. package/dist/i18n/locales/hi.js +6 -1
  116. package/dist/i18n/locales/hi.js.map +1 -1
  117. package/dist/i18n/locales/it.d.ts +5 -0
  118. package/dist/i18n/locales/it.d.ts.map +1 -1
  119. package/dist/i18n/locales/it.js +6 -1
  120. package/dist/i18n/locales/it.js.map +1 -1
  121. package/dist/i18n/locales/ja.d.ts +5 -0
  122. package/dist/i18n/locales/ja.d.ts.map +1 -1
  123. package/dist/i18n/locales/ja.js +6 -1
  124. package/dist/i18n/locales/ja.js.map +1 -1
  125. package/dist/i18n/locales/nl.d.ts +5 -0
  126. package/dist/i18n/locales/nl.d.ts.map +1 -1
  127. package/dist/i18n/locales/nl.js +6 -1
  128. package/dist/i18n/locales/nl.js.map +1 -1
  129. package/dist/i18n/locales/pl.d.ts +5 -0
  130. package/dist/i18n/locales/pl.d.ts.map +1 -1
  131. package/dist/i18n/locales/pl.js +6 -1
  132. package/dist/i18n/locales/pl.js.map +1 -1
  133. package/dist/i18n/locales/pt.d.ts +5 -0
  134. package/dist/i18n/locales/pt.d.ts.map +1 -1
  135. package/dist/i18n/locales/pt.js +6 -1
  136. package/dist/i18n/locales/pt.js.map +1 -1
  137. package/dist/i18n/locales/ro.d.ts +5 -0
  138. package/dist/i18n/locales/ro.d.ts.map +1 -1
  139. package/dist/i18n/locales/ro.js +6 -1
  140. package/dist/i18n/locales/ro.js.map +1 -1
  141. package/dist/i18n/locales/ru.d.ts +5 -0
  142. package/dist/i18n/locales/ru.d.ts.map +1 -1
  143. package/dist/i18n/locales/ru.js +6 -1
  144. package/dist/i18n/locales/ru.js.map +1 -1
  145. package/dist/i18n/locales/sq.d.ts +5 -0
  146. package/dist/i18n/locales/sq.d.ts.map +1 -1
  147. package/dist/i18n/locales/sq.js +6 -1
  148. package/dist/i18n/locales/sq.js.map +1 -1
  149. package/dist/i18n/locales/sv.d.ts +5 -0
  150. package/dist/i18n/locales/sv.d.ts.map +1 -1
  151. package/dist/i18n/locales/sv.js +6 -1
  152. package/dist/i18n/locales/sv.js.map +1 -1
  153. package/dist/i18n/locales/tr.d.ts +5 -0
  154. package/dist/i18n/locales/tr.d.ts.map +1 -1
  155. package/dist/i18n/locales/tr.js +6 -1
  156. package/dist/i18n/locales/tr.js.map +1 -1
  157. package/dist/i18n/locales/zh.d.ts +5 -0
  158. package/dist/i18n/locales/zh.d.ts.map +1 -1
  159. package/dist/i18n/locales/zh.js +6 -1
  160. package/dist/i18n/locales/zh.js.map +1 -1
  161. package/dist/index.js +919 -916
  162. package/dist/index.js.map +1 -1
  163. package/dist/locales/ar.json +6 -1
  164. package/dist/locales/de.json +6 -1
  165. package/dist/locales/el.json +6 -1
  166. package/dist/locales/en.json +6 -1
  167. package/dist/locales/es.json +6 -1
  168. package/dist/locales/fr.json +6 -1
  169. package/dist/locales/hi.json +6 -1
  170. package/dist/locales/it.json +6 -1
  171. package/dist/locales/ja.json +6 -1
  172. package/dist/locales/nl.json +6 -1
  173. package/dist/locales/pl.json +6 -1
  174. package/dist/locales/pt.json +6 -1
  175. package/dist/locales/ro.json +6 -1
  176. package/dist/locales/ru.json +6 -1
  177. package/dist/locales/sq.json +6 -1
  178. package/dist/locales/sv.json +6 -1
  179. package/dist/locales/tr.json +6 -1
  180. package/dist/locales/zh.json +6 -1
  181. package/dist/patterns/calendar/index.js +1 -1
  182. package/dist/tokens.css +2 -1
  183. package/package.json +5 -1
  184. package/dist/_chunks/clinical-note-card-D2WTV2CO.js.map +0 -1
  185. package/dist/_chunks/format-price-DNqXPa_q.js.map +0 -1
  186. package/dist/_chunks/notes-panel-C4G-mhZ9.js +0 -380
  187. package/dist/_chunks/notes-panel-C4G-mhZ9.js.map +0 -1
  188. package/dist/_chunks/rich-text-editor-CQ7yZdG3.js.map +0 -1
  189. package/dist/_chunks/task-card-BUgK6yZT.js.map +0 -1
  190. package/dist/_chunks/tasks-panel-DQuaVvl5.js +0 -757
  191. package/dist/_chunks/tasks-panel-DQuaVvl5.js.map +0 -1
  192. package/dist/_chunks/tool-rail-8Scslq3X.js +0 -524
  193. package/dist/_chunks/tool-rail-8Scslq3X.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-card-BUgK6yZT.js","sources":["../../node_modules/lucide-react/dist/esm/icons/briefcase.mjs","../../node_modules/lucide-react/dist/esm/icons/building-2.mjs","../../src/components/task-card/task-card.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.22.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\", key: \"jecpp\" }],\n [\"rect\", { width: \"20\", height: \"14\", x: \"2\", y: \"6\", rx: \"2\", key: \"i6l2r4\" }]\n];\nconst Briefcase = createLucideIcon(\"briefcase\", __iconNode);\n\nexport { __iconNode, Briefcase as default };\n//# sourceMappingURL=briefcase.mjs.map\n","/**\n * @license lucide-react v1.22.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M10 12h4\", key: \"a56b0p\" }],\n [\"path\", { d: \"M10 8h4\", key: \"1sr2af\" }],\n [\"path\", { d: \"M14 21v-3a2 2 0 0 0-4 0v3\", key: \"1rgiei\" }],\n [\n \"path\",\n {\n d: \"M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2\",\n key: \"secmi2\"\n }\n ],\n [\"path\", { d: \"M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16\", key: \"16ra0t\" }]\n];\nconst Building2 = createLucideIcon(\"building-2\", __iconNode);\n\nexport { __iconNode, Building2 as default };\n//# sourceMappingURL=building-2.mjs.map\n","import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport {\n CircleAlert,\n Briefcase,\n Building2,\n SquareCheckBig,\n ChevronRight,\n Square,\n User,\n} from 'lucide-react';\nimport { VisuallyHidden } from '../visually-hidden';\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport type TaskStatus = 'open' | 'in-progress' | 'done';\nexport type TaskPriority = 'low' | 'normal' | 'high';\n\n/** Which entity the task links to. The platform `DoctorReminder` links to exactly one of these (or none). */\nexport type TaskLinkType = 'patient' | 'company' | 'operator';\n\n/** Linked-entity glyph — patient (person), company (building), operator (briefcase). */\nconst LINK_ICON: Record<TaskLinkType, typeof User> = {\n patient: User,\n company: Building2,\n operator: Briefcase,\n};\n\nexport interface TaskItem {\n /** Unique identifier for the task. */\n id: string;\n /** Title — single line, primary content. */\n title: string;\n /** Optional secondary line (e.g. \"Patient A · Due today\"). */\n description?: string;\n /**\n * Localised due-date hint (e.g. \"Due today\" / \"Tomorrow\"). Rendered as a\n * trailing eyebrow chip when set; consumers compute the bucket and pass\n * the localised string.\n */\n dueLabel?: string;\n /**\n * Linked-entity NAME (the patient / company / operator the task points at) —\n * e.g. \"Mario Rossi\". When `linkType` is set the card renders it as a typed\n * chip (a per-type glyph + an accessible \"Patient/Company/Operator:\" prefix);\n * otherwise it renders as a plain eyebrow line. The consumer composes the\n * name only — no prefix.\n */\n linkedLabel?: string;\n /** Type of the linked entity — drives the leading glyph + the accessible prefix on the linked chip. */\n linkType?: TaskLinkType;\n /** Localised assignee display name (host-composed, e.g. \"Dr. Alfa\"). Renders an assignee chip on the meta line. */\n assigneeLabel?: string;\n /** Free-text note attached to the task — muted body line, clamped. */\n note?: string;\n /** Lifecycle state — drives the leading icon. */\n status?: TaskStatus;\n /** Priority — `high` colours the leading icon as `--destructive`. */\n priority?: TaskPriority;\n /** Optional deep link — when present the row is an anchor. */\n url?: string;\n}\n\nexport interface TaskCardProps\n extends\n Omit<HTMLAttributes<HTMLDivElement>, 'onClick' | 'role' | 'title'>,\n VariantProps<typeof taskCardVariants> {\n /** The task to render. */\n item: TaskItem;\n /** Visual density. `xs` is the compact rail row (Control Room); `sm`/`md` for in-page lists. */\n size?: 'xs' | 'sm' | 'md';\n /** Fires when the row is activated (click / Enter / Space). */\n onActivate?: (item: TaskItem) => void;\n /**\n * Trailing per-row action toolbar (icon buttons: mark done, schedule,\n * edit, …). Rendered above the stretched-link overlay so the controls\n * stay clickable inside an interactive row.\n */\n actions?: ReactNode;\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst taskCardVariants = cva(\n [\n 'ds:relative ds:flex ds:items-start ds:gap-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:transition-colors',\n 'ds:motion-reduce:transition-none',\n 'ds:text-start ds:group',\n 'ds:border ds:border-[color:var(--card-border)] ds:[.theme-accessible_&]:border-2',\n 'ds:forced-colors:border ds:forced-colors:border-[CanvasText]',\n ].join(' '),\n {\n variants: {\n size: {\n xs: 'ds:p-[var(--spacing-xs)]',\n sm: 'ds:p-[var(--spacing-sm)]',\n md: 'ds:p-[var(--spacing-md)]',\n },\n interactive: {\n true: 'ds:hover:bg-[color:var(--muted)]/40 ds:cursor-pointer',\n false: '',\n },\n },\n defaultVariants: {\n size: 'sm',\n interactive: false,\n },\n },\n);\n\nconst stretchedLinkClass = [\n 'ds:focus-visible:outline-none',\n \"ds:after:content-[''] ds:after:absolute ds:after:inset-0 ds:after:rounded-[var(--radius-sm)]\",\n 'ds:after:pointer-events-auto',\n 'ds:focus-visible:after:outline-[length:var(--focus-ring-width)]',\n 'ds:focus-visible:after:outline-solid',\n 'ds:focus-visible:after:outline-[color:var(--ring)]',\n 'ds:focus-visible:after:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:after:outline-[CanvasText]',\n].join(' ');\n\n/* ------------------------------------------------------------------ */\n/* Helpers */\n/* ------------------------------------------------------------------ */\n\nexport function isSafeTaskUrl(url: string): boolean {\n return /^(https?:\\/\\/(?!\\/)|\\/(?!\\/)|#)/.test(url);\n}\n\nfunction StatusIcon({\n status,\n priority,\n}: {\n status?: TaskStatus;\n priority?: TaskPriority;\n}): ReactNode {\n const tone =\n priority === 'high'\n ? 'ds:text-[color:var(--destructive)]'\n : 'ds:text-[color:var(--muted-foreground)]';\n if (status === 'done') {\n return (\n <SquareCheckBig aria-hidden=\"true\" className={`ds:size-4 ${tone}`} />\n );\n }\n if (priority === 'high') {\n return <CircleAlert aria-hidden=\"true\" className={`ds:size-4 ${tone}`} />;\n }\n return <Square aria-hidden=\"true\" className={`ds:size-4 ${tone}`} />;\n}\n\n/* ------------------------------------------------------------------ */\n/* Component */\n/* ------------------------------------------------------------------ */\n\nexport const TaskCard = forwardRef<HTMLDivElement, TaskCardProps>(\n ({ item, size = 'sm', onActivate, actions, className, ...rest }, ref) => {\n const { t } = useTranslation();\n const interactive = !!onActivate;\n const hasSafeUrl = !!item.url && isSafeTaskUrl(item.url);\n const ariaLabel = t('taskCard.itemLabel', {\n title: item.title,\n due: item.dueLabel ?? '',\n defaultValue: '{{title}}{{due, prepend, \" · \"}}',\n });\n\n // Static key lookups so the i18n coverage gate sees each literal key.\n const linkTypeLabels: Record<TaskLinkType, string> = {\n patient: t('taskCard.link.patient'),\n company: t('taskCard.link.company'),\n operator: t('taskCard.link.operator'),\n };\n const LinkIcon = item.linkType ? LINK_ICON[item.linkType] : null;\n // The meta row carries icon-led chips: a typed linked entity + an assignee.\n const showLinkChip = !!item.linkType && !!item.linkedLabel;\n const hasMetaRow = showLinkChip || !!item.assigneeLabel;\n\n const titleNode = (\n <span className=\"ds:flex-1 ds:min-w-0 ds:truncate type-body-sm ds:text-[color:var(--foreground)]\">\n {item.title}\n </span>\n );\n\n let activator: ReactNode;\n if (interactive && hasSafeUrl) {\n activator = (\n <a\n href={item.url}\n aria-label={ariaLabel}\n className={stretchedLinkClass + ' ds:contents'}\n onClick={(e) => {\n if (e.defaultPrevented || e.metaKey || e.ctrlKey || e.shiftKey)\n return;\n onActivate?.(item);\n }}\n >\n {titleNode}\n </a>\n );\n } else if (interactive) {\n activator = (\n <button\n type=\"button\"\n aria-label={ariaLabel}\n className={\n stretchedLinkClass +\n ' ds:contents ds:bg-transparent ds:border-0 ds:p-0 ds:text-start'\n }\n onClick={() => onActivate?.(item)}\n >\n {titleNode}\n </button>\n );\n } else {\n activator = titleNode;\n }\n\n return (\n <div\n ref={ref}\n role=\"listitem\"\n data-component=\"task-card\"\n data-component-id={item.id}\n data-status={item.status ?? 'open'}\n data-priority={item.priority ?? 'normal'}\n className={taskCardVariants({ size, interactive, className })}\n {...rest}\n >\n <span className=\"ds:mt-[var(--spacing-2xs)] ds:shrink-0\">\n <StatusIcon status={item.status} priority={item.priority} />\n </span>\n\n <div className=\"ds:flex-1 ds:min-w-0 ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]\">\n {activator}\n {item.description ? (\n <span className=\"type-body-sm ds:text-[color:var(--muted-foreground)] ds:truncate\">\n {item.description}\n </span>\n ) : null}\n {item.note ? (\n <span className=\"type-body-sm ds:text-[color:var(--muted-foreground)] ds:line-clamp-2\">\n {item.note}\n </span>\n ) : null}\n {hasMetaRow ? (\n // `type-meta` (not `type-eyebrow`): these chips carry proper-noun\n // values (patient / company / operator name, assignee) that must\n // not be uppercased. Icons are decorative; the type word is exposed\n // to AT via a VisuallyHidden prefix so each chip reads e.g.\n // \"Patient: Mario Rossi\" / \"Assignee: Dr. Alfa\".\n <div className=\"type-meta ds:flex ds:flex-wrap ds:items-center ds:gap-x-[var(--spacing-sm)] ds:gap-y-[var(--spacing-2xs)] ds:text-[color:var(--muted-foreground)]\">\n {item.linkType && item.linkedLabel && LinkIcon ? (\n <span className=\"ds:inline-flex ds:min-w-0 ds:items-center ds:gap-[var(--spacing-2xs)]\">\n <LinkIcon\n aria-hidden=\"true\"\n className=\"ds:size-3 ds:shrink-0\"\n />\n <VisuallyHidden>{`${linkTypeLabels[item.linkType]}: `}</VisuallyHidden>\n <span className=\"ds:truncate\">{item.linkedLabel}</span>\n </span>\n ) : null}\n {item.assigneeLabel ? (\n <span className=\"ds:inline-flex ds:min-w-0 ds:items-center ds:gap-[var(--spacing-2xs)]\">\n <User aria-hidden=\"true\" className=\"ds:size-3 ds:shrink-0\" />\n <VisuallyHidden>{`${t('taskCard.assignee')}: `}</VisuallyHidden>\n <span className=\"ds:truncate\">{item.assigneeLabel}</span>\n </span>\n ) : null}\n </div>\n ) : null}\n {item.linkedLabel && !item.linkType ? (\n <span className=\"type-eyebrow ds:text-[color:var(--muted-foreground)] ds:truncate\">\n {item.linkedLabel}\n </span>\n ) : null}\n {item.dueLabel ? (\n <span className=\"type-eyebrow ds:text-[color:var(--muted-foreground)]\">\n {item.dueLabel}\n </span>\n ) : null}\n </div>\n\n {actions ? (\n // Above the stretched-link overlay so the buttons stay clickable.\n <span className=\"ds:relative ds:z-[1] ds:flex ds:items-center ds:gap-[var(--spacing-2xs)] ds:shrink-0\">\n {actions}\n </span>\n ) : null}\n\n {interactive ? (\n <ChevronRight\n aria-hidden=\"true\"\n className=\"ds:mt-[var(--spacing-2xs)] ds:size-4 ds:shrink-0 ds:text-[color:var(--muted-foreground)] ds:opacity-0 ds:transition-opacity ds:motion-reduce:transition-none ds:group-hover:opacity-100 ds:group-focus-within:opacity-100 ds:rtl:rotate-180\"\n />\n ) : null}\n </div>\n );\n },\n);\n\nTaskCard.displayName = 'TaskCard';\n"],"names":["__iconNode","Briefcase","createLucideIcon","Building2","LINK_ICON","User","taskCardVariants","cva","stretchedLinkClass","isSafeTaskUrl","url","StatusIcon","status","priority","tone","SquareCheckBig","CircleAlert","Square","TaskCard","forwardRef","item","size","onActivate","actions","className","rest","ref","t","useTranslation","interactive","hasSafeUrl","ariaLabel","linkTypeLabels","LinkIcon","hasMetaRow","titleNode","jsx","activator","e","jsxs","VisuallyHidden","ChevronRight"],"mappings":";;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,8CAA8C,KAAK,QAAO,CAAE;AAAA,EAC1E,CAAC,QAAQ,EAAE,OAAO,MAAM,QAAQ,MAAM,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,KAAK,SAAQ,CAAE;AAChF,GACMC,IAAYC,EAAiB,aAAaF,CAAU;ACb1D;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,6BAA6B,KAAK,SAAQ,CAAE;AAAA,EAC1D;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA;AAAA,EACE,CAAC,QAAQ,EAAE,GAAG,4CAA4C,KAAK,SAAQ,CAAE;AAC3E,GACMG,IAAYD,EAAiB,cAAcF,CAAU,GCGrDI,IAA+C;AAAA,EACnD,SAASC;AAAA,EACT,SAASF;AAAA,EACT,UAAUF;AACZ,GA2DMK,IAAmBC;AAAA,EACvB;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,MAEN,aAAa;AAAA,QACX,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ,GAEMC,IAAqB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,GAAG;AAMH,SAASC,EAAcC,GAAsB;AAClD,SAAO,kCAAkC,KAAKA,CAAG;AACnD;AAEA,SAASC,EAAW;AAAA,EAClB,QAAAC;AAAA,EACA,UAAAC;AACF,GAGc;AACZ,QAAMC,IACJD,MAAa,SACT,uCACA;AACN,SAAID,MAAW,2BAEVG,GAAA,EAAe,eAAY,QAAO,WAAW,aAAaD,CAAI,IAAI,IAGnED,MAAa,2BACPG,GAAA,EAAY,eAAY,QAAO,WAAW,aAAaF,CAAI,IAAI,sBAEjEG,GAAA,EAAO,eAAY,QAAO,WAAW,aAAaH,CAAI,IAAI;AACpE;AAMO,MAAMI,IAAWC;AAAA,EACtB,CAAC,EAAE,MAAAC,GAAM,MAAAC,IAAO,MAAM,YAAAC,GAAY,SAAAC,GAAS,WAAAC,GAAW,GAAGC,EAAA,GAAQC,MAAQ;AACvE,UAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA,GACRC,IAAc,CAAC,CAACP,GAChBQ,IAAa,CAAC,CAACV,EAAK,OAAOX,EAAcW,EAAK,GAAG,GACjDW,IAAYJ,EAAE,sBAAsB;AAAA,MACxC,OAAOP,EAAK;AAAA,MACZ,KAAKA,EAAK,YAAY;AAAA,MACtB,cAAc;AAAA,IAAA,CACf,GAGKY,IAA+C;AAAA,MACnD,SAASL,EAAE,uBAAuB;AAAA,MAClC,SAASA,EAAE,uBAAuB;AAAA,MAClC,UAAUA,EAAE,wBAAwB;AAAA,IAAA,GAEhCM,IAAWb,EAAK,WAAWhB,EAAUgB,EAAK,QAAQ,IAAI,MAGtDc,IADe,CAAC,CAACd,EAAK,YAAY,CAAC,CAACA,EAAK,eACZ,CAAC,CAACA,EAAK,eAEpCe,IACJ,gBAAAC,EAAC,QAAA,EAAK,WAAU,mFACb,YAAK,OACR;AAGF,QAAIC;AACJ,WAAIR,KAAeC,IACjBO,IACE,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAMhB,EAAK;AAAA,QACX,cAAYW;AAAA,QACZ,WAAWvB,IAAqB;AAAA,QAChC,SAAS,CAAC8B,MAAM;AACd,UAAIA,EAAE,oBAAoBA,EAAE,WAAWA,EAAE,WAAWA,EAAE,YAEtDhB,KAAA,QAAAA,EAAaF;AAAA,QACf;AAAA,QAEC,UAAAe;AAAA,MAAA;AAAA,IAAA,IAGIN,IACTQ,IACE,gBAAAD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,cAAYL;AAAA,QACZ,WACEvB,IACA;AAAA,QAEF,SAAS,MAAMc,KAAA,gBAAAA,EAAaF;AAAA,QAE3B,UAAAe;AAAA,MAAA;AAAA,IAAA,IAILE,IAAYF,GAIZ,gBAAAI;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAb;AAAA,QACA,MAAK;AAAA,QACL,kBAAe;AAAA,QACf,qBAAmBN,EAAK;AAAA,QACxB,eAAaA,EAAK,UAAU;AAAA,QAC5B,iBAAeA,EAAK,YAAY;AAAA,QAChC,WAAWd,EAAiB,EAAE,MAAAe,GAAM,aAAAQ,GAAa,WAAAL,GAAW;AAAA,QAC3D,GAAGC;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAW,EAAC,QAAA,EAAK,WAAU,0CACd,UAAA,gBAAAA,EAACzB,GAAA,EAAW,QAAQS,EAAK,QAAQ,UAAUA,EAAK,SAAA,CAAU,GAC5D;AAAA,UAEA,gBAAAmB,EAAC,OAAA,EAAI,WAAU,wEACZ,UAAA;AAAA,YAAAF;AAAA,YACAjB,EAAK,cACJ,gBAAAgB,EAAC,QAAA,EAAK,WAAU,oEACb,UAAAhB,EAAK,aACR,IACE;AAAA,YACHA,EAAK,OACJ,gBAAAgB,EAAC,QAAA,EAAK,WAAU,wEACb,UAAAhB,EAAK,MACR,IACE;AAAA,YACHc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMC,gBAAAK,EAAC,OAAA,EAAI,WAAU,qJACZ,UAAA;AAAA,gBAAAnB,EAAK,YAAYA,EAAK,eAAea,IACpC,gBAAAM,EAAC,QAAA,EAAK,WAAU,yEACd,UAAA;AAAA,kBAAA,gBAAAH;AAAA,oBAACH;AAAA,oBAAA;AAAA,sBACC,eAAY;AAAA,sBACZ,WAAU;AAAA,oBAAA;AAAA,kBAAA;AAAA,oCAEXO,GAAA,EAAgB,UAAA,GAAGR,EAAeZ,EAAK,QAAQ,CAAC,MAAK;AAAA,kBACtD,gBAAAgB,EAAC,QAAA,EAAK,WAAU,eAAe,YAAK,YAAA,CAAY;AAAA,gBAAA,EAAA,CAClD,IACE;AAAA,gBACHhB,EAAK,gBACJ,gBAAAmB,EAAC,QAAA,EAAK,WAAU,yEACd,UAAA;AAAA,kBAAA,gBAAAH,EAAC/B,GAAA,EAAK,eAAY,QAAO,WAAU,yBAAwB;AAAA,oCAC1DmC,GAAA,EAAgB,UAAA,GAAGb,EAAE,mBAAmB,CAAC,MAAK;AAAA,kBAC/C,gBAAAS,EAAC,QAAA,EAAK,WAAU,eAAe,YAAK,cAAA,CAAc;AAAA,gBAAA,EAAA,CACpD,IACE;AAAA,cAAA,EAAA,CACN;AAAA,gBACE;AAAA,YACHhB,EAAK,eAAe,CAACA,EAAK,WACzB,gBAAAgB,EAAC,QAAA,EAAK,WAAU,oEACb,UAAAhB,EAAK,YAAA,CACR,IACE;AAAA,YACHA,EAAK,WACJ,gBAAAgB,EAAC,QAAA,EAAK,WAAU,wDACb,UAAAhB,EAAK,UACR,IACE;AAAA,UAAA,GACN;AAAA,UAECG;AAAA;AAAA,YAEC,gBAAAa,EAAC,QAAA,EAAK,WAAU,wFACb,UAAAb,EAAA,CACH;AAAA,cACE;AAAA,UAEHM,IACC,gBAAAO;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,eAAY;AAAA,cACZ,WAAU;AAAA,YAAA;AAAA,UAAA,IAEV;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AAEAvB,EAAS,cAAc;","x_google_ignoreList":[0,1]}