@mieweb/ui 0.10.0-dev.32 → 0.10.0-dev.34

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 (140) hide show
  1. package/dist/{chunk-VPIYTQCV.cjs → chunk-2I4IRQQG.cjs} +12 -5
  2. package/dist/chunk-2I4IRQQG.cjs.map +1 -0
  3. package/dist/{chunk-CMF7VCGP.js → chunk-2X54ZLT6.js} +3 -3
  4. package/dist/{chunk-CMF7VCGP.js.map → chunk-2X54ZLT6.js.map} +1 -1
  5. package/dist/{chunk-FKGFOBC2.js → chunk-434L5RYF.js} +4 -4
  6. package/dist/{chunk-FKGFOBC2.js.map → chunk-434L5RYF.js.map} +1 -1
  7. package/dist/{chunk-TPWKM7JH.js → chunk-43K7OQ3E.js} +3 -3
  8. package/dist/{chunk-TPWKM7JH.js.map → chunk-43K7OQ3E.js.map} +1 -1
  9. package/dist/chunk-522WJIVI.js +99 -0
  10. package/dist/chunk-522WJIVI.js.map +1 -0
  11. package/dist/{chunk-O4WGSOJI.js → chunk-56VTM4OX.js} +3 -3
  12. package/dist/{chunk-O4WGSOJI.js.map → chunk-56VTM4OX.js.map} +1 -1
  13. package/dist/{chunk-LRRSD7LR.js → chunk-5HKZR6UG.js} +3 -3
  14. package/dist/{chunk-LRRSD7LR.js.map → chunk-5HKZR6UG.js.map} +1 -1
  15. package/dist/{chunk-EMRWTCCN.cjs → chunk-6WX2OR3U.cjs} +15 -2
  16. package/dist/chunk-6WX2OR3U.cjs.map +1 -0
  17. package/dist/chunk-7E46YDOT.cjs +122 -0
  18. package/dist/chunk-7E46YDOT.cjs.map +1 -0
  19. package/dist/{chunk-57G3O552.cjs → chunk-AJPFQF3H.cjs} +7 -7
  20. package/dist/{chunk-57G3O552.cjs.map → chunk-AJPFQF3H.cjs.map} +1 -1
  21. package/dist/{chunk-I2MMUFCN.cjs → chunk-ARIJ5OHW.cjs} +9 -24
  22. package/dist/chunk-ARIJ5OHW.cjs.map +1 -0
  23. package/dist/{chunk-VOYLX32A.cjs → chunk-CLQW724U.cjs} +4 -4
  24. package/dist/{chunk-VOYLX32A.cjs.map → chunk-CLQW724U.cjs.map} +1 -1
  25. package/dist/{chunk-VNEAQCY2.js → chunk-DGHS5IVD.js} +19 -22
  26. package/dist/chunk-DGHS5IVD.js.map +1 -0
  27. package/dist/{chunk-OZ5CKVQN.js → chunk-FDA3R5E7.js} +15 -2
  28. package/dist/chunk-FDA3R5E7.js.map +1 -0
  29. package/dist/{chunk-LSMS6DY7.cjs → chunk-FSWHZY3T.cjs} +18 -21
  30. package/dist/chunk-FSWHZY3T.cjs.map +1 -0
  31. package/dist/{chunk-ISUIKUX7.cjs → chunk-H3P7POFC.cjs} +7 -7
  32. package/dist/{chunk-ISUIKUX7.cjs.map → chunk-H3P7POFC.cjs.map} +1 -1
  33. package/dist/{chunk-462XSCP3.cjs → chunk-HCIXGFWR.cjs} +4 -4
  34. package/dist/{chunk-462XSCP3.cjs.map → chunk-HCIXGFWR.cjs.map} +1 -1
  35. package/dist/{chunk-FCV7GBNQ.cjs → chunk-HNNWWLKY.cjs} +33 -33
  36. package/dist/{chunk-FCV7GBNQ.cjs.map → chunk-HNNWWLKY.cjs.map} +1 -1
  37. package/dist/{chunk-BIQ7GSO2.js → chunk-JMAZ2GKT.js} +3 -3
  38. package/dist/{chunk-BIQ7GSO2.js.map → chunk-JMAZ2GKT.js.map} +1 -1
  39. package/dist/{chunk-T4L7Q5FA.cjs → chunk-LC3JL2HB.cjs} +6 -2
  40. package/dist/chunk-LC3JL2HB.cjs.map +1 -0
  41. package/dist/{chunk-3RXZWHCU.js → chunk-LDBNUJB7.js} +3 -3
  42. package/dist/{chunk-3RXZWHCU.js.map → chunk-LDBNUJB7.js.map} +1 -1
  43. package/dist/{chunk-ADW7ZYCY.cjs → chunk-LRAAJRE7.cjs} +4 -4
  44. package/dist/{chunk-ADW7ZYCY.cjs.map → chunk-LRAAJRE7.cjs.map} +1 -1
  45. package/dist/{chunk-ILDLYRTP.js → chunk-MHR2OS5I.js} +4 -4
  46. package/dist/{chunk-ILDLYRTP.js.map → chunk-MHR2OS5I.js.map} +1 -1
  47. package/dist/{chunk-6M63CM7X.cjs → chunk-O6BJMVGT.cjs} +21 -21
  48. package/dist/{chunk-6M63CM7X.cjs.map → chunk-O6BJMVGT.cjs.map} +1 -1
  49. package/dist/{chunk-ORCCJ5VY.cjs → chunk-OIMXMPH2.cjs} +4 -4
  50. package/dist/{chunk-ORCCJ5VY.cjs.map → chunk-OIMXMPH2.cjs.map} +1 -1
  51. package/dist/{chunk-CEQJGUAS.js → chunk-P4E3K3ND.js} +12 -5
  52. package/dist/chunk-P4E3K3ND.js.map +1 -0
  53. package/dist/{chunk-6JSFT2J5.js → chunk-RLVYWUXG.js} +9 -24
  54. package/dist/chunk-RLVYWUXG.js.map +1 -0
  55. package/dist/{chunk-YRHBSSQ3.cjs → chunk-RV45J2ZT.cjs} +4 -4
  56. package/dist/{chunk-YRHBSSQ3.cjs.map → chunk-RV45J2ZT.cjs.map} +1 -1
  57. package/dist/{chunk-3DLLTITK.js → chunk-S2JZL4JC.js} +3 -3
  58. package/dist/{chunk-3DLLTITK.js.map → chunk-S2JZL4JC.js.map} +1 -1
  59. package/dist/{chunk-ENMXHZNE.js → chunk-TWQSMUE6.js} +6 -2
  60. package/dist/chunk-TWQSMUE6.js.map +1 -0
  61. package/dist/{chunk-GNOQFTLL.cjs → chunk-UTIPENPW.cjs} +6 -6
  62. package/dist/{chunk-GNOQFTLL.cjs.map → chunk-UTIPENPW.cjs.map} +1 -1
  63. package/dist/{chunk-CPPUT74P.cjs → chunk-VV2U36T6.cjs} +9 -9
  64. package/dist/{chunk-CPPUT74P.cjs.map → chunk-VV2U36T6.cjs.map} +1 -1
  65. package/dist/{chunk-EPTP3VKT.js → chunk-WFL4N5PC.js} +3 -3
  66. package/dist/{chunk-EPTP3VKT.js.map → chunk-WFL4N5PC.js.map} +1 -1
  67. package/dist/{chunk-H3QPREIJ.js → chunk-X3RSNAMX.js} +3 -3
  68. package/dist/{chunk-H3QPREIJ.js.map → chunk-X3RSNAMX.js.map} +1 -1
  69. package/dist/{chunk-T4JYUICS.js → chunk-Y7ZJZLJY.js} +3 -3
  70. package/dist/{chunk-T4JYUICS.js.map → chunk-Y7ZJZLJY.js.map} +1 -1
  71. package/dist/{chunk-P55LNEDH.cjs → chunk-ZSNFL736.cjs} +4 -4
  72. package/dist/{chunk-P55LNEDH.cjs.map → chunk-ZSNFL736.cjs.map} +1 -1
  73. package/dist/components/ActionPlan/index.cjs +5 -5
  74. package/dist/components/ActionPlan/index.js +3 -3
  75. package/dist/components/AlertDialog/index.cjs +6 -6
  76. package/dist/components/AlertDialog/index.js +2 -2
  77. package/dist/components/AssociationList/index.cjs +4 -4
  78. package/dist/components/AssociationList/index.js +2 -2
  79. package/dist/components/Badge/index.cjs +3 -3
  80. package/dist/components/Badge/index.d.cts +15 -1
  81. package/dist/components/Badge/index.d.ts +15 -1
  82. package/dist/components/Badge/index.js +1 -1
  83. package/dist/components/CompletenessMeter/index.cjs +5 -4
  84. package/dist/components/CompletenessMeter/index.js +2 -1
  85. package/dist/components/KeyboardShortcutsOverlay/index.cjs +4 -4
  86. package/dist/components/KeyboardShortcutsOverlay/index.js +2 -2
  87. package/dist/components/MediaEditor/index.cjs +7 -7
  88. package/dist/components/MediaEditor/index.js +2 -2
  89. package/dist/components/MediaFeed/index.cjs +3 -3
  90. package/dist/components/MediaFeed/index.js +2 -2
  91. package/dist/components/Modal/index.cjs +9 -9
  92. package/dist/components/Modal/index.js +1 -1
  93. package/dist/components/Progress/index.cjs +6 -6
  94. package/dist/components/Progress/index.d.cts +7 -1
  95. package/dist/components/Progress/index.d.ts +7 -1
  96. package/dist/components/Progress/index.js +1 -1
  97. package/dist/components/RadialExplorer/index.cjs +3 -3
  98. package/dist/components/RadialExplorer/index.js +2 -2
  99. package/dist/components/RecordHeader/index.cjs +4 -4
  100. package/dist/components/RecordHeader/index.d.cts +11 -1
  101. package/dist/components/RecordHeader/index.d.ts +11 -1
  102. package/dist/components/RecordHeader/index.js +2 -2
  103. package/dist/components/RecordLayout/index.cjs +4 -4
  104. package/dist/components/RecordLayout/index.js +2 -2
  105. package/dist/components/SuperChat/index.cjs +5 -5
  106. package/dist/components/SuperChat/index.js +3 -3
  107. package/dist/components/TagEditor/index.cjs +5 -3
  108. package/dist/components/TagEditor/index.js +3 -1
  109. package/dist/components/VideoCard/index.cjs +4 -4
  110. package/dist/components/VideoCard/index.js +2 -2
  111. package/dist/datavis.cjs +2 -2
  112. package/dist/datavis.js +1 -1
  113. package/dist/esheet.cjs +6 -6
  114. package/dist/esheet.js +3 -3
  115. package/dist/index.cjs +300 -314
  116. package/dist/index.cjs.map +1 -1
  117. package/dist/index.d.cts +22 -2
  118. package/dist/index.d.ts +22 -2
  119. package/dist/index.js +29 -43
  120. package/dist/index.js.map +1 -1
  121. package/dist/styles.css +1 -1
  122. package/dist/tailwind-preset.cjs +4 -4
  123. package/dist/tailwind-preset.js +1 -1
  124. package/dist/templates.cjs +31 -31
  125. package/dist/templates.js +2 -2
  126. package/package.json +1 -1
  127. package/dist/chunk-6JSFT2J5.js.map +0 -1
  128. package/dist/chunk-BMSG4NBH.js +0 -56
  129. package/dist/chunk-BMSG4NBH.js.map +0 -1
  130. package/dist/chunk-CEQJGUAS.js.map +0 -1
  131. package/dist/chunk-EMRWTCCN.cjs.map +0 -1
  132. package/dist/chunk-ENMXHZNE.js.map +0 -1
  133. package/dist/chunk-I2MMUFCN.cjs.map +0 -1
  134. package/dist/chunk-LSMS6DY7.cjs.map +0 -1
  135. package/dist/chunk-OZ5CKVQN.js.map +0 -1
  136. package/dist/chunk-T4L7Q5FA.cjs.map +0 -1
  137. package/dist/chunk-VNEAQCY2.js.map +0 -1
  138. package/dist/chunk-VPIYTQCV.cjs.map +0 -1
  139. package/dist/chunk-YVL3XATO.cjs +0 -79
  140. package/dist/chunk-YVL3XATO.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkIXFC7LK2_cjs = require('./chunk-IXFC7LK2.cjs');
4
- var chunkYVL3XATO_cjs = require('./chunk-YVL3XATO.cjs');
4
+ var chunk7E46YDOT_cjs = require('./chunk-7E46YDOT.cjs');
5
5
  var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
6
6
  var lucideReact = require('lucide-react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -130,7 +130,7 @@ function VideoCard({
130
130
  }
131
131
  ),
132
132
  pill && !playing && /* @__PURE__ */ jsxRuntime.jsx(
133
- chunkYVL3XATO_cjs.Badge,
133
+ chunk7E46YDOT_cjs.Badge,
134
134
  {
135
135
  "data-slot": "video-card-duration",
136
136
  size: "sm",
@@ -195,5 +195,5 @@ function VideoCard({
195
195
 
196
196
  exports.PlayButton = PlayButton;
197
197
  exports.VideoCard = VideoCard;
198
- //# sourceMappingURL=chunk-462XSCP3.cjs.map
199
- //# sourceMappingURL=chunk-462XSCP3.cjs.map
198
+ //# sourceMappingURL=chunk-HCIXGFWR.cjs.map
199
+ //# sourceMappingURL=chunk-HCIXGFWR.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/VideoCard/VideoCard.tsx"],"names":["jsxs","cn","jsx","Play","useYouTubeHoverPreview","VolumeX","Badge"],"mappings":"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","file":"chunk-462XSCP3.cjs","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Play, VolumeX } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { Badge } from '../Badge';\nimport { useYouTubeHoverPreview } from '../../hooks/useYouTubeHoverPreview';\n\n// =============================================================================\n// PlayButton\n// =============================================================================\n\nexport interface PlayButtonProps extends React.HTMLAttributes<HTMLSpanElement> {\n /** Disc diameter. Default `md` (56px). */\n size?: 'sm' | 'md' | 'lg';\n /**\n * Show the spinning brand ring. Default `hover` — the ring appears and spins\n * only while the nearest `.group` ancestor is hovered; `always` keeps it on.\n */\n ring?: 'hover' | 'always' | 'none';\n}\n\nconst DISC_SIZE = {\n sm: 'h-10 w-10',\n md: 'h-14 w-14',\n lg: 'h-20 w-20',\n} as const;\nconst ICON_SIZE = { sm: 'h-4 w-4', md: 'h-6 w-6', lg: 'h-8 w-8' } as const;\n\n/**\n * The branded play affordance: a white disc with a filled brand triangle and a\n * conic-gradient ring that lights up and spins on hover. Decorative — the\n * surrounding card/link carries the accessible label.\n */\nexport function PlayButton({\n size = 'md',\n ring = 'hover',\n className,\n ...props\n}: PlayButtonProps) {\n return (\n <span\n data-slot=\"play-button\"\n aria-hidden=\"true\"\n className={cn(\n 'relative inline-flex items-center justify-center',\n DISC_SIZE[size],\n className\n )}\n {...props}\n >\n {ring !== 'none' && (\n <span\n className={cn(\n 'pointer-events-none absolute -inset-2 rounded-full transition-opacity duration-300',\n 'motion-safe:animate-[mie-spin_1.4s_linear_infinite]',\n '[background:conic-gradient(from_0deg,transparent_0deg,var(--mieweb-primary-500)_90deg,var(--mieweb-primary-300)_240deg,var(--mieweb-primary-200)_320deg,transparent_360deg)]',\n '[mask:radial-gradient(farthest-side,transparent_calc(100%-4px),#000_calc(100%-4px))]',\n '[-webkit-mask:radial-gradient(farthest-side,transparent_calc(100%-4px),#000_calc(100%-4px))]',\n 'drop-shadow-[0_0_5px_color-mix(in_srgb,var(--mieweb-primary-400)_60%,transparent)]',\n ring === 'hover'\n ? 'opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100'\n : 'opacity-100'\n )}\n />\n )}\n <span\n className={cn(\n 'relative flex items-center justify-center rounded-full bg-white/90 shadow-lg transition-transform group-hover:scale-110',\n DISC_SIZE[size]\n )}\n >\n <Play\n // rtl-ignore -- optical centering of the play triangle, which points right in RTL media players too\n className={cn('text-primary-600 ml-0.5', ICON_SIZE[size])}\n fill=\"currentColor\"\n />\n </span>\n </span>\n );\n}\n\n// =============================================================================\n// VideoCard\n// =============================================================================\n\nexport interface VideoCardProps {\n /** Video title — also the accessible name (\"Watch: {title}\"). */\n title: string;\n /** Navigates on click. Omit to render a `<button>` driven by `onClick`. */\n href?: string;\n onClick?: React.MouseEventHandler<HTMLElement>;\n /** Anchor target (e.g. `_blank`). */\n target?: string;\n /** Enables the muted hover preview and the default YouTube thumbnail. */\n youtubeId?: string;\n /** Thumbnail URL. Defaults to the YouTube `hqdefault` when `youtubeId` is set. */\n thumbnailUrl?: string;\n /** Thumbnail alt. Defaults to `title`. */\n thumbnailAlt?: string;\n /** Duration label, e.g. `34 min` or `2:44`. */\n duration?: string;\n /** Word before the duration in the pill. Default `Watch` → \"Watch · 34 min\". Pass `null` for just the duration. */\n durationPrefix?: string | null;\n /** Turn the hover preview off even when `youtubeId` is set. */\n preview?: boolean;\n /** Label shown on the pill while the muted preview plays. Default `Silent`. */\n silentLabel?: string;\n /** Slot above the title in the body — a category `Badge`, for instance. */\n eyebrow?: React.ReactNode;\n description?: string;\n /** Slot below the description — speaker, view count, date. */\n footer?: React.ReactNode;\n /**\n * `card` renders thumbnail + body; `plate` renders only the media plate\n * (for heroes and detail panels where the copy lives elsewhere).\n */\n variant?: 'card' | 'plate';\n /** Heading level for the title in `card` variant. Default `h3`. */\n headingLevel?: 'h2' | 'h3' | 'h4';\n className?: string;\n}\n\n/**\n * A video thumbnail card with the branded `PlayButton`, a \"Watch · 34 min\"\n * duration pill and — when a `youtubeId` is supplied — a muted, looping\n * hover preview with a progress bar, exactly as YouTube's own grid behaves.\n * Ported from the Enterprise Health video library and hero HUD.\n *\n * @example\n * ```tsx\n * <VideoCard\n * title=\"Ozwell AI in the exam room\"\n * href=\"/videos/ozwell-ai/\"\n * youtubeId=\"dQw4w9WgXcQ\"\n * duration=\"2:44\"\n * eyebrow={<Badge variant=\"secondary\" size=\"sm\">Demo</Badge>}\n * description=\"Documentation and surveillance, native to the platform.\"\n * />\n * ```\n */\nexport function VideoCard({\n title,\n href,\n onClick,\n target,\n youtubeId,\n thumbnailUrl,\n thumbnailAlt,\n duration,\n durationPrefix = 'Watch',\n preview = true,\n silentLabel = 'Silent',\n eyebrow,\n description,\n footer,\n variant = 'card',\n headingLevel: Heading = 'h3',\n className,\n}: VideoCardProps) {\n const thumb =\n thumbnailUrl ??\n (youtubeId\n ? `https://i.ytimg.com/vi/${youtubeId}/hqdefault.jpg`\n : undefined);\n\n const hover = useYouTubeHoverPreview(youtubeId, { enabled: preview });\n const playing = hover.preview === 'playing';\n\n const pill =\n duration && (durationPrefix ? `${durationPrefix} · ${duration}` : duration);\n\n const media = (\n <div\n data-slot=\"video-card-media\"\n className=\"bg-primary-950 relative aspect-video overflow-hidden\"\n >\n {thumb && (\n <img\n src={thumb}\n alt={thumbnailAlt ?? title}\n loading=\"lazy\"\n decoding=\"async\"\n className=\"absolute inset-0 h-full w-full object-cover transition-transform duration-300 group-hover:scale-105\"\n />\n )}\n\n {/* Muted preview player — fades in once frames are flowing. pointer-events-none\n so clicks fall through to the card. */}\n <div\n ref={hover.hostRef}\n aria-hidden=\"true\"\n className={cn(\n 'bg-primary-950 pointer-events-none absolute inset-0 overflow-hidden transition-opacity duration-500',\n '[&_iframe]:absolute [&_iframe]:inset-0 [&_iframe]:h-full [&_iframe]:w-full [&_iframe]:border-0',\n playing ? 'opacity-100' : 'opacity-0'\n )}\n />\n\n {playing && (\n <span className=\"absolute start-2 top-2 inline-flex items-center gap-1 rounded bg-black/55 px-1.5 py-0.5 text-[11px] font-medium text-white backdrop-blur-sm\">\n <VolumeX className=\"h-3 w-3\" aria-hidden=\"true\" />\n {silentLabel}\n </span>\n )}\n\n <div\n className={cn(\n 'bg-primary-950/20 group-hover:bg-primary-950/30 absolute inset-0 flex items-center justify-center transition-all duration-300',\n playing && 'opacity-0'\n )}\n >\n <PlayButton size={variant === 'plate' ? 'lg' : 'md'} />\n </div>\n\n {pill && !playing && (\n <Badge\n data-slot=\"video-card-duration\"\n size=\"sm\"\n className=\"absolute end-2 bottom-2 bg-black/60 py-1 text-white backdrop-blur-sm dark:bg-black/60 dark:text-white\"\n >\n {pill}\n </Badge>\n )}\n\n {hover.preview !== 'idle' && (\n <div className=\"absolute inset-x-0 bottom-0 h-1 bg-white/20\">\n <div\n className=\"h-full rounded-e-full bg-[linear-gradient(90deg,var(--mieweb-primary-500),var(--mieweb-primary-300))] transition-[width] duration-200 ease-linear\"\n style={{ width: `${Math.max(hover.progress * 100, 1.5)}%` }}\n />\n </div>\n )}\n </div>\n );\n\n // A real heading is only valid in the link variant — `<button>` accepts\n // phrasing content only, so the button variant gets a styled block span.\n const TitleTag = href ? Heading : 'span';\n\n const body = variant === 'card' && (\n <div data-slot=\"video-card-body\" className=\"p-4 text-start\">\n {eyebrow && <div className=\"mb-2 flex items-center gap-2\">{eyebrow}</div>}\n <TitleTag className=\"text-foreground group-hover:text-primary-700 dark:group-hover:text-primary-300 block text-lg font-semibold transition-colors\">\n {title}\n </TitleTag>\n {description && (\n <p className=\"text-muted-foreground mt-1 line-clamp-2 text-sm\">\n {description}\n </p>\n )}\n {footer && (\n <div className=\"text-muted-foreground mt-2 text-sm\">{footer}</div>\n )}\n </div>\n );\n\n const shell = cn(\n 'group block w-full overflow-hidden no-underline transition-shadow',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n variant === 'card'\n ? 'rounded-xl border border-border bg-card text-card-foreground shadow-md hover:shadow-lg'\n : 'rounded-xl shadow-lg',\n className\n );\n\n const interaction = {\n onMouseEnter: hover.handleEnter,\n onMouseLeave: hover.stopPreview,\n onFocus: hover.handleEnter,\n onBlur: hover.stopPreview,\n 'aria-label': `Watch: ${title}`,\n 'data-slot': 'video-card',\n 'data-preview': hover.preview,\n };\n\n if (href) {\n return (\n <a\n href={href}\n target={target}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n onClick={onClick}\n className={shell}\n {...interaction}\n >\n {media}\n {body}\n </a>\n );\n }\n return (\n <button type=\"button\" onClick={onClick} className={shell} {...interaction}>\n {media}\n {body}\n </button>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/VideoCard/VideoCard.tsx"],"names":["jsxs","cn","jsx","Play","useYouTubeHoverPreview","VolumeX","Badge"],"mappings":"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","file":"chunk-HCIXGFWR.cjs","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Play, VolumeX } from 'lucide-react';\nimport { cn } from '../../utils/cn';\nimport { Badge } from '../Badge';\nimport { useYouTubeHoverPreview } from '../../hooks/useYouTubeHoverPreview';\n\n// =============================================================================\n// PlayButton\n// =============================================================================\n\nexport interface PlayButtonProps extends React.HTMLAttributes<HTMLSpanElement> {\n /** Disc diameter. Default `md` (56px). */\n size?: 'sm' | 'md' | 'lg';\n /**\n * Show the spinning brand ring. Default `hover` — the ring appears and spins\n * only while the nearest `.group` ancestor is hovered; `always` keeps it on.\n */\n ring?: 'hover' | 'always' | 'none';\n}\n\nconst DISC_SIZE = {\n sm: 'h-10 w-10',\n md: 'h-14 w-14',\n lg: 'h-20 w-20',\n} as const;\nconst ICON_SIZE = { sm: 'h-4 w-4', md: 'h-6 w-6', lg: 'h-8 w-8' } as const;\n\n/**\n * The branded play affordance: a white disc with a filled brand triangle and a\n * conic-gradient ring that lights up and spins on hover. Decorative — the\n * surrounding card/link carries the accessible label.\n */\nexport function PlayButton({\n size = 'md',\n ring = 'hover',\n className,\n ...props\n}: PlayButtonProps) {\n return (\n <span\n data-slot=\"play-button\"\n aria-hidden=\"true\"\n className={cn(\n 'relative inline-flex items-center justify-center',\n DISC_SIZE[size],\n className\n )}\n {...props}\n >\n {ring !== 'none' && (\n <span\n className={cn(\n 'pointer-events-none absolute -inset-2 rounded-full transition-opacity duration-300',\n 'motion-safe:animate-[mie-spin_1.4s_linear_infinite]',\n '[background:conic-gradient(from_0deg,transparent_0deg,var(--mieweb-primary-500)_90deg,var(--mieweb-primary-300)_240deg,var(--mieweb-primary-200)_320deg,transparent_360deg)]',\n '[mask:radial-gradient(farthest-side,transparent_calc(100%-4px),#000_calc(100%-4px))]',\n '[-webkit-mask:radial-gradient(farthest-side,transparent_calc(100%-4px),#000_calc(100%-4px))]',\n 'drop-shadow-[0_0_5px_color-mix(in_srgb,var(--mieweb-primary-400)_60%,transparent)]',\n ring === 'hover'\n ? 'opacity-0 group-hover:opacity-100 group-focus-visible:opacity-100'\n : 'opacity-100'\n )}\n />\n )}\n <span\n className={cn(\n 'relative flex items-center justify-center rounded-full bg-white/90 shadow-lg transition-transform group-hover:scale-110',\n DISC_SIZE[size]\n )}\n >\n <Play\n // rtl-ignore -- optical centering of the play triangle, which points right in RTL media players too\n className={cn('text-primary-600 ml-0.5', ICON_SIZE[size])}\n fill=\"currentColor\"\n />\n </span>\n </span>\n );\n}\n\n// =============================================================================\n// VideoCard\n// =============================================================================\n\nexport interface VideoCardProps {\n /** Video title — also the accessible name (\"Watch: {title}\"). */\n title: string;\n /** Navigates on click. Omit to render a `<button>` driven by `onClick`. */\n href?: string;\n onClick?: React.MouseEventHandler<HTMLElement>;\n /** Anchor target (e.g. `_blank`). */\n target?: string;\n /** Enables the muted hover preview and the default YouTube thumbnail. */\n youtubeId?: string;\n /** Thumbnail URL. Defaults to the YouTube `hqdefault` when `youtubeId` is set. */\n thumbnailUrl?: string;\n /** Thumbnail alt. Defaults to `title`. */\n thumbnailAlt?: string;\n /** Duration label, e.g. `34 min` or `2:44`. */\n duration?: string;\n /** Word before the duration in the pill. Default `Watch` → \"Watch · 34 min\". Pass `null` for just the duration. */\n durationPrefix?: string | null;\n /** Turn the hover preview off even when `youtubeId` is set. */\n preview?: boolean;\n /** Label shown on the pill while the muted preview plays. Default `Silent`. */\n silentLabel?: string;\n /** Slot above the title in the body — a category `Badge`, for instance. */\n eyebrow?: React.ReactNode;\n description?: string;\n /** Slot below the description — speaker, view count, date. */\n footer?: React.ReactNode;\n /**\n * `card` renders thumbnail + body; `plate` renders only the media plate\n * (for heroes and detail panels where the copy lives elsewhere).\n */\n variant?: 'card' | 'plate';\n /** Heading level for the title in `card` variant. Default `h3`. */\n headingLevel?: 'h2' | 'h3' | 'h4';\n className?: string;\n}\n\n/**\n * A video thumbnail card with the branded `PlayButton`, a \"Watch · 34 min\"\n * duration pill and — when a `youtubeId` is supplied — a muted, looping\n * hover preview with a progress bar, exactly as YouTube's own grid behaves.\n * Ported from the Enterprise Health video library and hero HUD.\n *\n * @example\n * ```tsx\n * <VideoCard\n * title=\"Ozwell AI in the exam room\"\n * href=\"/videos/ozwell-ai/\"\n * youtubeId=\"dQw4w9WgXcQ\"\n * duration=\"2:44\"\n * eyebrow={<Badge variant=\"secondary\" size=\"sm\">Demo</Badge>}\n * description=\"Documentation and surveillance, native to the platform.\"\n * />\n * ```\n */\nexport function VideoCard({\n title,\n href,\n onClick,\n target,\n youtubeId,\n thumbnailUrl,\n thumbnailAlt,\n duration,\n durationPrefix = 'Watch',\n preview = true,\n silentLabel = 'Silent',\n eyebrow,\n description,\n footer,\n variant = 'card',\n headingLevel: Heading = 'h3',\n className,\n}: VideoCardProps) {\n const thumb =\n thumbnailUrl ??\n (youtubeId\n ? `https://i.ytimg.com/vi/${youtubeId}/hqdefault.jpg`\n : undefined);\n\n const hover = useYouTubeHoverPreview(youtubeId, { enabled: preview });\n const playing = hover.preview === 'playing';\n\n const pill =\n duration && (durationPrefix ? `${durationPrefix} · ${duration}` : duration);\n\n const media = (\n <div\n data-slot=\"video-card-media\"\n className=\"bg-primary-950 relative aspect-video overflow-hidden\"\n >\n {thumb && (\n <img\n src={thumb}\n alt={thumbnailAlt ?? title}\n loading=\"lazy\"\n decoding=\"async\"\n className=\"absolute inset-0 h-full w-full object-cover transition-transform duration-300 group-hover:scale-105\"\n />\n )}\n\n {/* Muted preview player — fades in once frames are flowing. pointer-events-none\n so clicks fall through to the card. */}\n <div\n ref={hover.hostRef}\n aria-hidden=\"true\"\n className={cn(\n 'bg-primary-950 pointer-events-none absolute inset-0 overflow-hidden transition-opacity duration-500',\n '[&_iframe]:absolute [&_iframe]:inset-0 [&_iframe]:h-full [&_iframe]:w-full [&_iframe]:border-0',\n playing ? 'opacity-100' : 'opacity-0'\n )}\n />\n\n {playing && (\n <span className=\"absolute start-2 top-2 inline-flex items-center gap-1 rounded bg-black/55 px-1.5 py-0.5 text-[11px] font-medium text-white backdrop-blur-sm\">\n <VolumeX className=\"h-3 w-3\" aria-hidden=\"true\" />\n {silentLabel}\n </span>\n )}\n\n <div\n className={cn(\n 'bg-primary-950/20 group-hover:bg-primary-950/30 absolute inset-0 flex items-center justify-center transition-all duration-300',\n playing && 'opacity-0'\n )}\n >\n <PlayButton size={variant === 'plate' ? 'lg' : 'md'} />\n </div>\n\n {pill && !playing && (\n <Badge\n data-slot=\"video-card-duration\"\n size=\"sm\"\n className=\"absolute end-2 bottom-2 bg-black/60 py-1 text-white backdrop-blur-sm dark:bg-black/60 dark:text-white\"\n >\n {pill}\n </Badge>\n )}\n\n {hover.preview !== 'idle' && (\n <div className=\"absolute inset-x-0 bottom-0 h-1 bg-white/20\">\n <div\n className=\"h-full rounded-e-full bg-[linear-gradient(90deg,var(--mieweb-primary-500),var(--mieweb-primary-300))] transition-[width] duration-200 ease-linear\"\n style={{ width: `${Math.max(hover.progress * 100, 1.5)}%` }}\n />\n </div>\n )}\n </div>\n );\n\n // A real heading is only valid in the link variant — `<button>` accepts\n // phrasing content only, so the button variant gets a styled block span.\n const TitleTag = href ? Heading : 'span';\n\n const body = variant === 'card' && (\n <div data-slot=\"video-card-body\" className=\"p-4 text-start\">\n {eyebrow && <div className=\"mb-2 flex items-center gap-2\">{eyebrow}</div>}\n <TitleTag className=\"text-foreground group-hover:text-primary-700 dark:group-hover:text-primary-300 block text-lg font-semibold transition-colors\">\n {title}\n </TitleTag>\n {description && (\n <p className=\"text-muted-foreground mt-1 line-clamp-2 text-sm\">\n {description}\n </p>\n )}\n {footer && (\n <div className=\"text-muted-foreground mt-2 text-sm\">{footer}</div>\n )}\n </div>\n );\n\n const shell = cn(\n 'group block w-full overflow-hidden no-underline transition-shadow',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n variant === 'card'\n ? 'rounded-xl border border-border bg-card text-card-foreground shadow-md hover:shadow-lg'\n : 'rounded-xl shadow-lg',\n className\n );\n\n const interaction = {\n onMouseEnter: hover.handleEnter,\n onMouseLeave: hover.stopPreview,\n onFocus: hover.handleEnter,\n onBlur: hover.stopPreview,\n 'aria-label': `Watch: ${title}`,\n 'data-slot': 'video-card',\n 'data-preview': hover.preview,\n };\n\n if (href) {\n return (\n <a\n href={href}\n target={target}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n onClick={onClick}\n className={shell}\n {...interaction}\n >\n {media}\n {body}\n </a>\n );\n }\n return (\n <button type=\"button\" onClick={onClick} className={shell} {...interaction}>\n {media}\n {body}\n </button>\n );\n}\n"]}
@@ -7,12 +7,12 @@ var chunkAIJAFPGJ_cjs = require('./chunk-AIJAFPGJ.cjs');
7
7
  var chunkUPWIJC6I_cjs = require('./chunk-UPWIJC6I.cjs');
8
8
  var chunkZSGEGISB_cjs = require('./chunk-ZSGEGISB.cjs');
9
9
  var chunkMJWFNV3L_cjs = require('./chunk-MJWFNV3L.cjs');
10
- var chunkT4L7Q5FA_cjs = require('./chunk-T4L7Q5FA.cjs');
10
+ var chunkLC3JL2HB_cjs = require('./chunk-LC3JL2HB.cjs');
11
11
  var chunkZ5S5JEJD_cjs = require('./chunk-Z5S5JEJD.cjs');
12
12
  var chunkGF2BE4FB_cjs = require('./chunk-GF2BE4FB.cjs');
13
13
  var chunkCPDNX3LS_cjs = require('./chunk-CPDNX3LS.cjs');
14
14
  var chunkL7L5S2HO_cjs = require('./chunk-L7L5S2HO.cjs');
15
- var chunkYVL3XATO_cjs = require('./chunk-YVL3XATO.cjs');
15
+ var chunk7E46YDOT_cjs = require('./chunk-7E46YDOT.cjs');
16
16
  var chunkANMX7YDL_cjs = require('./chunk-ANMX7YDL.cjs');
17
17
  var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
18
18
  var jsxRuntime = require('react/jsx-runtime');
@@ -233,8 +233,8 @@ function AllergyRow({
233
233
  ]
234
234
  }
235
235
  ),
236
- allergy.severity && /* @__PURE__ */ jsxRuntime.jsx(chunkYVL3XATO_cjs.Badge, { variant: SEVERITY_BADGE[allergy.severity], size: "sm", children: allergy.severity }),
237
- allergy.kind === "intolerance" && /* @__PURE__ */ jsxRuntime.jsx(chunkYVL3XATO_cjs.Badge, { variant: "secondary", size: "sm", children: "intolerance" }),
236
+ allergy.severity && /* @__PURE__ */ jsxRuntime.jsx(chunk7E46YDOT_cjs.Badge, { variant: SEVERITY_BADGE[allergy.severity], size: "sm", children: allergy.severity }),
237
+ allergy.kind === "intolerance" && /* @__PURE__ */ jsxRuntime.jsx(chunk7E46YDOT_cjs.Badge, { variant: "secondary", size: "sm", children: "intolerance" }),
238
238
  allergy.reaction && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground text-sm", children: [
239
239
  "\u2014 ",
240
240
  allergy.reaction
@@ -243,7 +243,7 @@ function AllergyRow({
243
243
  "since ",
244
244
  allergy.onsetDate
245
245
  ] }),
246
- allergy.inactive && /* @__PURE__ */ jsxRuntime.jsx(chunkYVL3XATO_cjs.Badge, { variant: "secondary", size: "sm", children: "inactive" }),
246
+ allergy.inactive && /* @__PURE__ */ jsxRuntime.jsx(chunk7E46YDOT_cjs.Badge, { variant: "secondary", size: "sm", children: "inactive" }),
247
247
  allergy.note && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex w-full basis-full items-center gap-1.5 ps-4", children: [
248
248
  /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.StickyNote, { size: 12, className: "text-muted-foreground" }),
249
249
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-xs", children: allergy.note })
@@ -337,7 +337,7 @@ var AllergyList = React3__namespace.forwardRef(
337
337
  /* @__PURE__ */ jsxRuntime.jsxs(chunkMJWFNV3L_cjs.CardContent, { className: "space-y-5 px-4 py-4", children: [
338
338
  empty ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
339
339
  noKnownAllergies ? /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-foreground flex items-center gap-1.5 text-sm", children: [
340
- /* @__PURE__ */ jsxRuntime.jsx(chunkYVL3XATO_cjs.Badge, { variant: "success", size: "sm", children: "\u2713" }),
340
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7E46YDOT_cjs.Badge, { variant: "success", size: "sm", children: "\u2713" }),
341
341
  "No known allergies (NKA)"
342
342
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "Allergy status not recorded." }),
343
343
  !readOnly && onNoKnownAllergiesChange && /* @__PURE__ */ jsxRuntime.jsx(
@@ -438,12 +438,12 @@ function AllergyEditor({
438
438
  }, []);
439
439
  const canSave = draft.allergen.trim().length > 0;
440
440
  const isDrug = (draft.type ?? "drug") === "drug";
441
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.Modal, { open: true, onOpenChange: (o) => !o && onClose(), size: "md", children: [
442
- /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.ModalHeader, { children: [
443
- /* @__PURE__ */ jsxRuntime.jsx(chunkT4L7Q5FA_cjs.ModalTitle, { children: allergy ? "Correct Allergy" : "Add Allergy" }),
444
- /* @__PURE__ */ jsxRuntime.jsx(chunkT4L7Q5FA_cjs.ModalClose, {})
441
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.Modal, { open: true, onOpenChange: (o) => !o && onClose(), size: "md", children: [
442
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.ModalHeader, { children: [
443
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLC3JL2HB_cjs.ModalTitle, { children: allergy ? "Correct Allergy" : "Add Allergy" }),
444
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLC3JL2HB_cjs.ModalClose, {})
445
445
  ] }),
446
- /* @__PURE__ */ jsxRuntime.jsx(chunkT4L7Q5FA_cjs.ModalBody, { className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: bodyRef, className: "contents", children: [
446
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLC3JL2HB_cjs.ModalBody, { className: "space-y-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: bodyRef, className: "contents", children: [
447
447
  /* @__PURE__ */ jsxRuntime.jsxs(
448
448
  chunkG7EQ3JPX_cjs.RadioGroup,
449
449
  {
@@ -560,7 +560,7 @@ function AllergyEditor({
560
560
  )
561
561
  ] })
562
562
  ] }) }),
563
- /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.ModalFooter, { children: [
563
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.ModalFooter, { children: [
564
564
  /* @__PURE__ */ jsxRuntime.jsx(chunkANMX7YDL_cjs.Button, { variant: "secondary", onClick: onClose, children: "Cancel" }),
565
565
  /* @__PURE__ */ jsxRuntime.jsx(
566
566
  chunkANMX7YDL_cjs.Button,
@@ -683,12 +683,12 @@ function AllergyManager({
683
683
  },
684
684
  dialog.kind === "correct" ? dialog.allergy.id : "add"
685
685
  ),
686
- dialog?.kind === "note" && /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.Modal, { open: true, onOpenChange: (o) => !o && setDialog(null), size: "md", children: [
687
- /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.ModalHeader, { children: [
688
- /* @__PURE__ */ jsxRuntime.jsx(chunkT4L7Q5FA_cjs.ModalTitle, { children: "Allergy Notes" }),
689
- /* @__PURE__ */ jsxRuntime.jsx(chunkT4L7Q5FA_cjs.ModalClose, {})
686
+ dialog?.kind === "note" && /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.Modal, { open: true, onOpenChange: (o) => !o && setDialog(null), size: "md", children: [
687
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.ModalHeader, { children: [
688
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLC3JL2HB_cjs.ModalTitle, { children: "Allergy Notes" }),
689
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLC3JL2HB_cjs.ModalClose, {})
690
690
  ] }),
691
- /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.ModalBody, { className: "space-y-4", children: [
691
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.ModalBody, { className: "space-y-4", children: [
692
692
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: dialog.allergy.allergen }),
693
693
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
694
694
  /* @__PURE__ */ jsxRuntime.jsx(chunkAIJAFPGJ_cjs.Label, { htmlFor: "alg-note-dlg", children: "Note" }),
@@ -703,7 +703,7 @@ function AllergyManager({
703
703
  )
704
704
  ] })
705
705
  ] }),
706
- /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.ModalFooter, { children: [
706
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.ModalFooter, { children: [
707
707
  /* @__PURE__ */ jsxRuntime.jsx(chunkANMX7YDL_cjs.Button, { variant: "secondary", onClick: () => setDialog(null), children: "Cancel" }),
708
708
  /* @__PURE__ */ jsxRuntime.jsx(
709
709
  chunkANMX7YDL_cjs.Button,
@@ -983,7 +983,7 @@ var MedicationList = React3__namespace.forwardRef(
983
983
  },
984
984
  medication.id
985
985
  )) }) : medications.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground mt-2 text-sm", children: emptyMessage }) : /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground mt-2 flex items-center gap-1.5 text-sm", children: [
986
- /* @__PURE__ */ jsxRuntime.jsx(chunkYVL3XATO_cjs.Badge, { variant: "success", size: "sm", children: "\u2713" }),
986
+ /* @__PURE__ */ jsxRuntime.jsx(chunk7E46YDOT_cjs.Badge, { variant: "success", size: "sm", children: "\u2713" }),
987
987
  reconciledMessage
988
988
  ] })
989
989
  ] }, status)),
@@ -1167,12 +1167,12 @@ function MedicationEditor({
1167
1167
  };
1168
1168
  const canSave = draft.name.trim().length > 0;
1169
1169
  if (!open) return null;
1170
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.Modal, { open: true, onOpenChange: (o) => !o && onClose(), size: "lg", children: [
1171
- /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.ModalHeader, { children: [
1172
- /* @__PURE__ */ jsxRuntime.jsx(chunkT4L7Q5FA_cjs.ModalTitle, { children: medication ? "Correct Medication" : "Add Medication" }),
1173
- /* @__PURE__ */ jsxRuntime.jsx(chunkT4L7Q5FA_cjs.ModalClose, {})
1170
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.Modal, { open: true, onOpenChange: (o) => !o && onClose(), size: "lg", children: [
1171
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.ModalHeader, { children: [
1172
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLC3JL2HB_cjs.ModalTitle, { children: medication ? "Correct Medication" : "Add Medication" }),
1173
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLC3JL2HB_cjs.ModalClose, {})
1174
1174
  ] }),
1175
- /* @__PURE__ */ jsxRuntime.jsx(chunkT4L7Q5FA_cjs.ModalBody, { className: "space-y-5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: bodyRef, className: "contents", children: [
1175
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLC3JL2HB_cjs.ModalBody, { className: "space-y-5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: bodyRef, className: "contents", children: [
1176
1176
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "space-y-3", "aria-label": "Medication", children: [
1177
1177
  effectiveCodeLookup ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
1178
1178
  /* @__PURE__ */ jsxRuntime.jsx(chunkAIJAFPGJ_cjs.Label, { htmlFor: "med-search", children: "Medication" }),
@@ -1369,7 +1369,7 @@ function MedicationEditor({
1369
1369
  ] })
1370
1370
  ] })
1371
1371
  ] }) }),
1372
- /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.ModalFooter, { children: [
1372
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.ModalFooter, { children: [
1373
1373
  /* @__PURE__ */ jsxRuntime.jsx(chunkANMX7YDL_cjs.Button, { variant: "secondary", onClick: onClose, children: "Cancel" }),
1374
1374
  /* @__PURE__ */ jsxRuntime.jsx(
1375
1375
  chunkANMX7YDL_cjs.Button,
@@ -1407,12 +1407,12 @@ function MedicationDialog({
1407
1407
  onSave(form);
1408
1408
  onClose();
1409
1409
  };
1410
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.Modal, { open: true, onOpenChange: (open) => !open && onClose(), size: "md", children: [
1411
- /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.ModalHeader, { children: [
1412
- /* @__PURE__ */ jsxRuntime.jsx(chunkT4L7Q5FA_cjs.ModalTitle, { children: dialog.kind === "note" ? "Medication Notes" : "Add Task" }),
1413
- /* @__PURE__ */ jsxRuntime.jsx(chunkT4L7Q5FA_cjs.ModalClose, {})
1410
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.Modal, { open: true, onOpenChange: (open) => !open && onClose(), size: "md", children: [
1411
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.ModalHeader, { children: [
1412
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLC3JL2HB_cjs.ModalTitle, { children: dialog.kind === "note" ? "Medication Notes" : "Add Task" }),
1413
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLC3JL2HB_cjs.ModalClose, {})
1414
1414
  ] }),
1415
- /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.ModalBody, { className: "space-y-4", children: [
1415
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.ModalBody, { className: "space-y-4", children: [
1416
1416
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: dialog.medication.name }),
1417
1417
  dialog.kind === "note" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
1418
1418
  /* @__PURE__ */ jsxRuntime.jsx(chunkAIJAFPGJ_cjs.Label, { htmlFor: "med-note", children: "Note" }),
@@ -1439,7 +1439,7 @@ function MedicationDialog({
1439
1439
  )
1440
1440
  ] })
1441
1441
  ] }),
1442
- /* @__PURE__ */ jsxRuntime.jsxs(chunkT4L7Q5FA_cjs.ModalFooter, { children: [
1442
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkLC3JL2HB_cjs.ModalFooter, { children: [
1443
1443
  /* @__PURE__ */ jsxRuntime.jsx(chunkANMX7YDL_cjs.Button, { variant: "secondary", onClick: onClose, children: "Cancel" }),
1444
1444
  /* @__PURE__ */ jsxRuntime.jsx(chunkANMX7YDL_cjs.Button, { onClick: handleSave, children: "Save" })
1445
1445
  ] })
@@ -1623,5 +1623,5 @@ exports.parseMedicationLabel = parseMedicationLabel;
1623
1623
  exports.parseSig = parseSig;
1624
1624
  exports.toolbarKeyNav = toolbarKeyNav;
1625
1625
  exports.useCodeLookupConfig = useCodeLookupConfig;
1626
- //# sourceMappingURL=chunk-FCV7GBNQ.cjs.map
1627
- //# sourceMappingURL=chunk-FCV7GBNQ.cjs.map
1626
+ //# sourceMappingURL=chunk-HNNWWLKY.cjs.map
1627
+ //# sourceMappingURL=chunk-HNNWWLKY.cjs.map