@mieweb/ui 0.7.3-dev.1 → 0.7.3-dev.11
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.
- package/README.md +45 -24
- package/agent/README.md +20 -0
- package/agent/init-agent.mjs +61 -0
- package/agent/mieweb-ui.instructions.md +169 -0
- package/dist/ag-grid.cjs +11 -0
- package/dist/ag-grid.cjs.map +1 -1
- package/dist/ag-grid.d.cts +4 -0
- package/dist/ag-grid.d.ts +4 -0
- package/dist/ag-grid.js +11 -0
- package/dist/ag-grid.js.map +1 -1
- package/dist/{chunk-OAHORW4N.cjs → chunk-3KY5W3ZN.cjs} +126 -97
- package/dist/chunk-3KY5W3ZN.cjs.map +1 -0
- package/dist/{chunk-KRGKPUJH.js → chunk-3X4GPM35.js} +7 -7
- package/dist/{chunk-KRGKPUJH.js.map → chunk-3X4GPM35.js.map} +1 -1
- package/dist/{chunk-3D4ITDLO.js → chunk-6H7NO5XX.js} +3 -3
- package/dist/{chunk-3D4ITDLO.js.map → chunk-6H7NO5XX.js.map} +1 -1
- package/dist/chunk-6NZXWKUE.js +3 -0
- package/dist/chunk-6NZXWKUE.js.map +1 -0
- package/dist/{chunk-QUUBTNMH.js → chunk-CLT4ASY7.js} +45 -15
- package/dist/chunk-CLT4ASY7.js.map +1 -0
- package/dist/{chunk-SYIFEJSF.cjs → chunk-DIL553SJ.cjs} +13 -13
- package/dist/{chunk-SYIFEJSF.cjs.map → chunk-DIL553SJ.cjs.map} +1 -1
- package/dist/{chunk-KFLDXJEE.js → chunk-DMIQS5KK.js} +46 -15
- package/dist/chunk-DMIQS5KK.js.map +1 -0
- package/dist/chunk-F7CQ5RO7.cjs +269 -0
- package/dist/chunk-F7CQ5RO7.cjs.map +1 -0
- package/dist/chunk-FXTNCCD2.js +243 -0
- package/dist/chunk-FXTNCCD2.js.map +1 -0
- package/dist/{chunk-5IDYOJHO.cjs → chunk-G6GJXVQC.cjs} +45 -15
- package/dist/chunk-G6GJXVQC.cjs.map +1 -0
- package/dist/{chunk-AFGADE3B.js → chunk-GP5CRU2I.js} +105 -26
- package/dist/chunk-GP5CRU2I.js.map +1 -0
- package/dist/{chunk-HIDV32ZX.js → chunk-GV3DE6KR.js} +3 -3
- package/dist/{chunk-HIDV32ZX.js.map → chunk-GV3DE6KR.js.map} +1 -1
- package/dist/{chunk-CVZYOMEW.js → chunk-I2AHT7JM.js} +78 -3
- package/dist/chunk-I2AHT7JM.js.map +1 -0
- package/dist/chunk-I44YNYI6.cjs +4 -0
- package/dist/chunk-I44YNYI6.cjs.map +1 -0
- package/dist/{chunk-FTRGZOVJ.js → chunk-ICMR3TYV.js} +3 -3
- package/dist/{chunk-FTRGZOVJ.js.map → chunk-ICMR3TYV.js.map} +1 -1
- package/dist/{chunk-MJFF4AXH.cjs → chunk-JU62BLDY.cjs} +78 -3
- package/dist/chunk-JU62BLDY.cjs.map +1 -0
- package/dist/{chunk-URHXR5SC.cjs → chunk-LFSP53TY.cjs} +7 -7
- package/dist/{chunk-URHXR5SC.cjs.map → chunk-LFSP53TY.cjs.map} +1 -1
- package/dist/{chunk-RBS3GHDZ.cjs → chunk-N7JVAXHD.cjs} +4 -4
- package/dist/{chunk-RBS3GHDZ.cjs.map → chunk-N7JVAXHD.cjs.map} +1 -1
- package/dist/{chunk-WUNWHOLA.cjs → chunk-NHR33YWI.cjs} +104 -25
- package/dist/chunk-NHR33YWI.cjs.map +1 -0
- package/dist/{chunk-FKLUSYFP.cjs → chunk-PCWIN32O.cjs} +4 -4
- package/dist/{chunk-FKLUSYFP.cjs.map → chunk-PCWIN32O.cjs.map} +1 -1
- package/dist/{chunk-S3MKIDYG.cjs → chunk-SMGNJGFT.cjs} +46 -15
- package/dist/chunk-SMGNJGFT.cjs.map +1 -0
- package/dist/{chunk-DLBV42JD.js → chunk-U35KWHXP.js} +86 -7
- package/dist/chunk-U35KWHXP.js.map +1 -0
- package/dist/{chunk-LC7YHZXM.js → chunk-UGJFT2QF.js} +5 -5
- package/dist/{chunk-LC7YHZXM.js.map → chunk-UGJFT2QF.js.map} +1 -1
- package/dist/{chunk-EGWWTIWS.js → chunk-UHVNVZ7L.js} +124 -95
- package/dist/chunk-UHVNVZ7L.js.map +1 -0
- package/dist/{chunk-6J7UGYT5.cjs → chunk-UZJDXFQE.cjs} +4 -4
- package/dist/{chunk-6J7UGYT5.cjs.map → chunk-UZJDXFQE.cjs.map} +1 -1
- package/dist/{chunk-ZBI52NP2.cjs → chunk-VAKZEVDE.cjs} +86 -7
- package/dist/chunk-VAKZEVDE.cjs.map +1 -0
- package/dist/{chunk-P6L74SKG.js → chunk-WUPT5SUN.js} +3 -3
- package/dist/{chunk-P6L74SKG.js.map → chunk-WUPT5SUN.js.map} +1 -1
- package/dist/{chunk-NQ2D2V6O.cjs → chunk-WWIBIUWT.cjs} +36 -36
- package/dist/{chunk-NQ2D2V6O.cjs.map → chunk-WWIBIUWT.cjs.map} +1 -1
- package/dist/components/Autocomplete/index.cjs +4 -3
- package/dist/components/Autocomplete/index.js +3 -2
- package/dist/components/Checkbox/index.cjs +5 -4
- package/dist/components/Checkbox/index.d.cts +9 -1
- package/dist/components/Checkbox/index.d.ts +9 -1
- package/dist/components/Checkbox/index.js +2 -1
- package/dist/components/DateInput/index.cjs +4 -3
- package/dist/components/DateInput/index.js +3 -2
- package/dist/components/Dropdown/index.cjs +9 -8
- package/dist/components/Dropdown/index.js +3 -2
- package/dist/components/Input/index.cjs +16 -3
- package/dist/components/Input/index.d.cts +25 -2
- package/dist/components/Input/index.d.ts +25 -2
- package/dist/components/Input/index.js +2 -1
- package/dist/components/MediaEditor/index.cjs +10 -9
- package/dist/components/MediaEditor/index.js +5 -4
- package/dist/components/PhoneInput/index.cjs +5 -4
- package/dist/components/PhoneInput/index.js +3 -2
- package/dist/components/Radio/index.cjs +5 -4
- package/dist/components/Radio/index.d.cts +9 -1
- package/dist/components/Radio/index.d.ts +9 -1
- package/dist/components/Radio/index.js +2 -1
- package/dist/components/RichTextEditor/index.cjs +7 -6
- package/dist/components/RichTextEditor/index.js +4 -3
- package/dist/components/Select/index.cjs +3 -3
- package/dist/components/Select/index.d.cts +11 -2
- package/dist/components/Select/index.d.ts +11 -2
- package/dist/components/Select/index.js +1 -1
- package/dist/components/SuperChat/index.cjs +7 -6
- package/dist/components/SuperChat/index.cjs.map +1 -1
- package/dist/components/SuperChat/index.js +3 -2
- package/dist/components/SuperChat/index.js.map +1 -1
- package/dist/components/Textarea/index.cjs +3 -3
- package/dist/components/Textarea/index.d.cts +11 -1
- package/dist/components/Textarea/index.d.ts +11 -1
- package/dist/components/Textarea/index.js +1 -1
- package/dist/esheet.cjs +10 -9
- package/dist/esheet.cjs.map +1 -1
- package/dist/esheet.js +7 -6
- package/dist/esheet.js.map +1 -1
- package/dist/index.cjs +566 -378
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +26 -3
- package/dist/index.d.ts +26 -3
- package/dist/index.js +285 -109
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind-preset.cjs +4 -4
- package/dist/tailwind-preset.js +1 -1
- package/package.json +5 -1
- package/dist/chunk-5IDYOJHO.cjs.map +0 -1
- package/dist/chunk-6ECKH4DJ.cjs +0 -147
- package/dist/chunk-6ECKH4DJ.cjs.map +0 -1
- package/dist/chunk-AFGADE3B.js.map +0 -1
- package/dist/chunk-CVZYOMEW.js.map +0 -1
- package/dist/chunk-DLBV42JD.js.map +0 -1
- package/dist/chunk-EGWWTIWS.js.map +0 -1
- package/dist/chunk-KFLDXJEE.js.map +0 -1
- package/dist/chunk-MJFF4AXH.cjs.map +0 -1
- package/dist/chunk-OAHORW4N.cjs.map +0 -1
- package/dist/chunk-QUUBTNMH.js.map +0 -1
- package/dist/chunk-S3MKIDYG.cjs.map +0 -1
- package/dist/chunk-WUNWHOLA.cjs.map +0 -1
- package/dist/chunk-YXCE2HSK.js +0 -124
- package/dist/chunk-YXCE2HSK.js.map +0 -1
- package/dist/chunk-ZBI52NP2.cjs.map +0 -1
package/dist/index.js
CHANGED
|
@@ -35,16 +35,16 @@ export { Skeleton, SkeletonCard, SkeletonTable, SkeletonText, skeletonVariants }
|
|
|
35
35
|
import { Spinner, SpinnerWithLabel } from './chunk-UA7E7PDS.js';
|
|
36
36
|
export { FullPageSpinner, Spinner, SpinnerWithLabel, spinnerVariants } from './chunk-UA7E7PDS.js';
|
|
37
37
|
export { Pagination, SimplePagination, paginationButtonVariants } from './chunk-FDUA6OGN.js';
|
|
38
|
-
export { PhoneInput, PhoneInputGroup } from './chunk-
|
|
38
|
+
export { PhoneInput, PhoneInputGroup } from './chunk-6H7NO5XX.js';
|
|
39
39
|
import { Progress } from './chunk-CEQJGUAS.js';
|
|
40
40
|
export { CircularProgress, Progress, circularProgressVariants, progressBarFillVariants, progressBarTrackVariants } from './chunk-CEQJGUAS.js';
|
|
41
41
|
export { QuickAction, QuickActionGroup, QuickActionIcons, quickActionIconVariants, quickActionVariants } from './chunk-5U6GETAW.js';
|
|
42
42
|
import { RecordButton } from './chunk-VNWJTCBQ.js';
|
|
43
43
|
export { RecordButton, formatDuration, recordButtonVariants } from './chunk-VNWJTCBQ.js';
|
|
44
|
-
export { RichTextEditor, convertAngleBracketsToMustache, processDictation } from './chunk-
|
|
44
|
+
export { RichTextEditor, convertAngleBracketsToMustache, processDictation } from './chunk-ICMR3TYV.js';
|
|
45
45
|
export { Separator, separatorVariants } from './chunk-OQWZYKJM.js';
|
|
46
|
-
import { Dropdown, DropdownItem, DropdownSeparator, DropdownContent, DropdownHeader } from './chunk-
|
|
47
|
-
export { Dropdown, DropdownContent, DropdownHeader, DropdownItem, DropdownLabel, DropdownSeparator } from './chunk-
|
|
46
|
+
import { Dropdown, DropdownItem, DropdownSeparator, DropdownContent, DropdownHeader } from './chunk-GV3DE6KR.js';
|
|
47
|
+
export { Dropdown, DropdownContent, DropdownHeader, DropdownItem, DropdownLabel, DropdownSeparator } from './chunk-GV3DE6KR.js';
|
|
48
48
|
export { FloatingWindow, MinimizedWindow } from './chunk-N3Y43KOB.js';
|
|
49
49
|
export { CodeBlock, MarkdownRenderer, highlightCode, useMarkdown } from './chunk-Z4PECE5S.js';
|
|
50
50
|
export { CsvBlock } from './chunk-5J5PEUUA.js';
|
|
@@ -52,51 +52,52 @@ export { HtmlPreviewBlock } from './chunk-UZ5NGGMI.js';
|
|
|
52
52
|
export { MermaidBlock } from './chunk-EHQ77LL5.js';
|
|
53
53
|
export { SurveyBlock } from './chunk-DWCYEPTT.js';
|
|
54
54
|
export { FenceBlock } from './chunk-NLBT5O2X.js';
|
|
55
|
-
export { FillerWordsModal, MediaEditor, SilenceSettingsModal, SpeedMarkerMenu, WordEditorModal } from './chunk-
|
|
55
|
+
export { FillerWordsModal, MediaEditor, SilenceSettingsModal, SpeedMarkerMenu, WordEditorModal } from './chunk-UGJFT2QF.js';
|
|
56
56
|
export { Slider, sliderRangeVariants, sliderThumbVariants, sliderTrackVariants } from './chunk-OTQ72WX3.js';
|
|
57
57
|
import './chunk-RISZWWEQ.js';
|
|
58
58
|
export { MediaPlayer, inferMediaKind, mediaPlayerVariants } from './chunk-EMMYFHOT.js';
|
|
59
59
|
export { Breadcrumb, BreadcrumbSlash } from './chunk-5Y5FSR4N.js';
|
|
60
60
|
import './chunk-OF7NTZ2I.js';
|
|
61
|
-
import { Checkbox } from './chunk-
|
|
62
|
-
export { Checkbox, CheckboxGroup, checkboxVariants } from './chunk-
|
|
61
|
+
import { Checkbox } from './chunk-DMIQS5KK.js';
|
|
62
|
+
export { Checkbox, CheckboxGroup, checkboxVariants } from './chunk-DMIQS5KK.js';
|
|
63
63
|
export { CollabStatus, defaultCollabStatusLabels, useYjsCollabStatus } from './chunk-SVSHA7XV.js';
|
|
64
64
|
export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './chunk-BJKAVWED.js';
|
|
65
65
|
import { CountryDropdownBase } from './chunk-4PIW3Y5M.js';
|
|
66
66
|
export { CountryCodeDropdown, formatE164, validatePhoneNumber } from './chunk-4PIW3Y5M.js';
|
|
67
|
-
export { miewebUIPreset, miewebUISafelist } from './chunk-
|
|
67
|
+
export { miewebUIPreset, miewebUISafelist } from './chunk-I2AHT7JM.js';
|
|
68
68
|
import { Alert, AlertTitle, AlertDescription } from './chunk-6EWJGRC3.js';
|
|
69
69
|
export { Alert, AlertDescription, AlertTitle, alertVariants } from './chunk-6EWJGRC3.js';
|
|
70
70
|
import { AlertDialog } from './chunk-FPVRQCCL.js';
|
|
71
71
|
export { AlertDialog } from './chunk-FPVRQCCL.js';
|
|
72
72
|
export { AudioPlayer, ProgressBar, audioPlayerVariants, formatTime as formatAudioTime, playButtonVariants } from './chunk-XO3WLK65.js';
|
|
73
73
|
export { AudioRecorder, audioRecorderVariants, controlButtonVariants, formatTime, waveformContainerVariants } from './chunk-2DW4PUJD.js';
|
|
74
|
-
export { Autocomplete } from './chunk-
|
|
74
|
+
export { Autocomplete } from './chunk-WUPT5SUN.js';
|
|
75
75
|
import { Avatar } from './chunk-DCBMTFLE.js';
|
|
76
76
|
export { Avatar, AvatarGroup, avatarVariants, getInitials } from './chunk-DCBMTFLE.js';
|
|
77
77
|
import './chunk-IQ4KQJAO.js';
|
|
78
78
|
import { evaluateDue, completedKeys, normalizeOrders } from './chunk-Y5KEFV5O.js';
|
|
79
79
|
export { buildChartOrderRows, buildEncounterOrderRows, dueForOrder, evaluateDue, evaluateProgram, isApplicable } from './chunk-Y5KEFV5O.js';
|
|
80
|
-
import { useCodeLookupConfig, RowActionToolbar, RowIconButton, toolbarKeyNav, parseSig, labelToMedicationFields, MedicationEditor } from './chunk-
|
|
81
|
-
export { ALLERGY_TYPE_LABELS, AllergyList, AllergyManager, CodeLookupProvider, MEDICATION_STATUS_LABELS, MedicationEditor, MedicationList, MedicationReconciliation, RowActionToolbar, RowIconButton, labelToMedicationFields, lookupToMedicationFields, parseMedicationLabel, parseSig, toolbarKeyNav, useCodeLookupConfig } from './chunk-
|
|
82
|
-
import { Textarea } from './chunk-
|
|
83
|
-
export { Textarea, textareaVariants } from './chunk-
|
|
80
|
+
import { useCodeLookupConfig, RowActionToolbar, RowIconButton, toolbarKeyNav, parseSig, labelToMedicationFields, MedicationEditor } from './chunk-3X4GPM35.js';
|
|
81
|
+
export { ALLERGY_TYPE_LABELS, AllergyList, AllergyManager, CodeLookupProvider, MEDICATION_STATUS_LABELS, MedicationEditor, MedicationList, MedicationReconciliation, RowActionToolbar, RowIconButton, labelToMedicationFields, lookupToMedicationFields, parseMedicationLabel, parseSig, toolbarKeyNav, useCodeLookupConfig } from './chunk-3X4GPM35.js';
|
|
82
|
+
import { Textarea } from './chunk-GP5CRU2I.js';
|
|
83
|
+
export { Textarea, textareaVariants } from './chunk-GP5CRU2I.js';
|
|
84
84
|
import { Tooltip } from './chunk-FJ7YPVKV.js';
|
|
85
85
|
export { Tooltip } from './chunk-FJ7YPVKV.js';
|
|
86
|
-
import { RadioGroup, Radio } from './chunk-
|
|
87
|
-
export { Radio, RadioGroup, radioVariants } from './chunk-
|
|
86
|
+
import { RadioGroup, Radio } from './chunk-CLT4ASY7.js';
|
|
87
|
+
export { Radio, RadioGroup, radioVariants } from './chunk-CLT4ASY7.js';
|
|
88
88
|
import { Label } from './chunk-I3WGZPI6.js';
|
|
89
89
|
export { Label, labelVariants } from './chunk-I3WGZPI6.js';
|
|
90
|
-
import { Select } from './chunk-
|
|
91
|
-
export { Select, selectTriggerVariants } from './chunk-
|
|
90
|
+
import { Select } from './chunk-U35KWHXP.js';
|
|
91
|
+
export { Select, selectTriggerVariants } from './chunk-U35KWHXP.js';
|
|
92
92
|
import { Card, CardHeader, CardContent, CardTitle } from './chunk-QYSUYB3S.js';
|
|
93
93
|
export { Card, CardActions, CardBadge, CardCollapsible, CardContent, CardDescription, CardDivider, CardFooter, CardHeader, CardMedia, CardStat, CardTitle, cardAccentVariants, cardVariants } from './chunk-QYSUYB3S.js';
|
|
94
|
-
import { DateInput } from './chunk-
|
|
95
|
-
export { DateInput } from './chunk-
|
|
94
|
+
import { DateInput } from './chunk-UHVNVZ7L.js';
|
|
95
|
+
export { DateInput } from './chunk-UHVNVZ7L.js';
|
|
96
96
|
import { Modal, ModalHeader, ModalTitle, ModalClose, ModalBody, ModalFooter } from './chunk-XMCIXHGH.js';
|
|
97
97
|
export { Modal, ModalBody, ModalClose, ModalFooter, ModalHeader, ModalTitle, modalContentVariants, modalOverlayVariants } from './chunk-XMCIXHGH.js';
|
|
98
|
-
import
|
|
99
|
-
|
|
98
|
+
import './chunk-6NZXWKUE.js';
|
|
99
|
+
import { Input, inputVariants } from './chunk-FXTNCCD2.js';
|
|
100
|
+
export { Input, floatingGroupLabelVariants, floatingGroupVariants, floatingLabelVariants, inputVariants } from './chunk-FXTNCCD2.js';
|
|
100
101
|
import { Plus, GripVertical, RefreshCw, Pencil, AlertCircle, ArrowLeft, Users, FilePlus, CheckCircle, ChevronDown, Clock, FileText, ClipboardList, Stethoscope, Mail, Phone, ClipboardCheck, Eye, Info, Link, ChevronUp, History, StickyNote, ExternalLink, MoreVertical, Trash2, Send, Scan, TestTube2, Pill, Share, User, Download, ChevronRight, Calendar, Printer, ClipboardPlus, FileCheck, Wheat, Bell, FileHeart, HeartPulse, Paperclip, HelpCircle, MoreHorizontal, AlertTriangle, Upload as Upload$1, Camera, Check as Check$1, X as X$1, ScanLine, Image } from './chunk-3PXOIAF6.js';
|
|
101
102
|
export { Accessibility as AccessibilityIcon, Activity as ActivityIcon, AlertCircle as AlertCircleIcon, AlertTriangle as AlertTriangleIcon, Wheat as AllergyIcon, WheatOff as AllergyOffIcon, Ambulance as AmbulanceIcon, ArrowLeft as ArrowLeftIcon, ArrowRight as ArrowRightIcon, ArrowUpDown as ArrowUpDownIcon, AtSign as AtSignIcon, Baby as BabyIcon, BadgeAlert as BadgeAlertIcon, BadgeCheck as BadgeCheckIcon, BadgeMinus as BadgeMinusIcon, BadgePlus as BadgePlusIcon, BadgeX as BadgeXIcon, Ban as BanIcon, Bandage as BandageIcon, BedDouble as BedDoubleIcon, Bed as BedIcon, BedSingle as BedSingleIcon, Bell as BellIcon, BellOff as BellOffIcon, Biohazard as BiohazardIcon, Bone as BoneIcon, BookOpenCheck as BookOpenCheckIcon, BookOpen as BookOpenIcon, Bookmark as BookmarkIcon, Brain as BrainIcon, Briefcase as BriefcaseIcon, BriefcaseMedical as BriefcaseMedicalIcon, Building as BuildingIcon, CalendarCheck as CalendarCheckIcon, Calendar as CalendarIcon, Camera as CameraIcon, Cannabis as CannabisIcon, BarChart3 as ChartIcon, CheckCircle as CheckCircleIcon, Check as CheckIcon, ChevronDown as ChevronDownIcon, ChevronLeft as ChevronLeftIcon, ChevronRight as ChevronRightIcon, ChevronUp as ChevronUpIcon, Cigarette as CigaretteIcon, CigaretteOff as CigaretteOffIcon, CircleDotDashed as CircleDotDashedIcon, CircleDot as CircleDotIcon, CircleUser as CircleUserIcon, ClipboardCheck as ClipboardCheckIcon, Clipboard as ClipboardIcon, ClipboardList as ClipboardListIcon, ClipboardPlus as ClipboardPlusIcon, Clock as ClockIcon, Cog as CogIcon, Columns as ColumnsIcon, Copy as CopyIcon, CreditCard as CreditCardIcon, Cross as CrossIcon, Dna as DnaIcon, DollarSign as DollarSignIcon, Download as DownloadIcon, Droplet as DropletIcon, Droplets as DropletsIcon, Ear as EarIcon, ExternalLink as ExternalLinkIcon, Eye as EyeIcon, EyeOff as EyeOffIcon, FileCheck2 as FileCheck2Icon, FileCheck as FileCheckIcon, FileHeart as FileHeartIcon, File as FileIcon, FilePlus2 as FilePlus2Icon, FilePlus as FilePlusIcon, FileText as FileTextIcon, Filter as FilterIcon, Fingerprint as FingerprintIcon, Flag as FlagIcon, FlaskConical as FlaskIcon, FlaskRound as FlaskRoundIcon, Folder as FolderIcon, FolderOpen as FolderOpenIcon, Footprints as FootprintsIcon, Glasses as GlassesIcon, Globe as GlobeIcon, LayoutGrid as GridIcon, GripVertical as GripVerticalIcon, Hand as HandIcon, HandMetal as HandMetalIcon, Hash as HashIcon, Heart as HeartIcon, HeartOff as HeartOffIcon, HeartPulse as HeartPulseIcon, HelpCircle as HelpCircleIcon, History as HistoryIcon, Home as HomeIcon, Hospital as HospitalIcon, Image as ImageIcon, Info as InfoIcon, Key as KeyIcon, Link as LinkIcon, List as ListIcon, Loader2 as LoaderIcon, Lock as LockIcon, LogIn as LogInIcon, LogOut as LogOutIcon, Mail as MailIcon, MapPin as MapPinIcon, Maximize as MaximizeIcon, Menu as MenuIcon, MessageSquare as MessageIcon, Microscope as MicroscopeIcon, Minimize as MinimizeIcon, Minus as MinusIcon, Monitor as MonitorIcon, Moon as MoonIcon, MoreHorizontal as MoreHorizontalIcon, MoreVertical as MoreVerticalIcon, NotebookPen as NotebookPenIcon, Palette as PaletteIcon, Paperclip as PaperclipIcon, CircleUserRound as PatientIcon, Pencil as PencilIcon, UserRound as PersonIcon, Phone as PhoneIcon, PieChart as PieChartIcon, Pill as PillIcon, Plus as PlusIcon, Printer as PrinterIcon, Radiation as RadiationIcon, Ruler as RulerIcon, Save as SaveIcon, Scale as ScaleIcon, Scaling as ScalingIcon, ScanEye as ScanEyeIcon, Scan as ScanIcon, ScanLine as ScanLineIcon, Search as SearchIcon, Settings as SettingsIcon, Share as ShareIcon, ShieldCheck as ShieldCheckIcon, Shield as ShieldIcon, ShieldPlus as ShieldPlusIcon, Sliders as SlidersIcon, Sparkle as SparkleIcon, Star as StarIcon, Stethoscope as StethoscopeIcon, StickyNote as StickyNoteIcon, Sun as SunIcon, Syringe as SyringeIcon, Table as TableIcon, Tablets as TabletsIcon, Tag as TagIcon, TestTube2 as TestTubeIcon, TestTubes as TestTubesIcon, Thermometer as ThermometerIcon, ThermometerSun as ThermometerSunIcon, ThumbsDown as ThumbsDownIcon, ThumbsUp as ThumbsUpIcon, Timer as TimerIcon, Trash2 as TrashIcon, TrendingDown as TrendingDownIcon, TrendingUp as TrendingUpIcon, Truck as TruckIcon, Unlock as UnlockIcon, Upload as UploadIcon, UserCheck as UserCheckIcon, User as UserIcon, UserMinus as UserMinusIcon, UserPlus as UserPlusIcon, UserRoundCheck as UserRoundCheckIcon, UserRoundMinus as UserRoundMinusIcon, UserRoundPlus as UserRoundPlusIcon, UserRoundX as UserRoundXIcon, Users as UsersIcon, Weight as WeightIcon, Wrench as WrenchIcon, XCircle as XCircleIcon, X2 as XIcon, Zap as ZapIcon } from './chunk-3PXOIAF6.js';
|
|
102
103
|
import { Button, buttonVariants } from './chunk-D2GID3YK.js';
|
|
@@ -135,7 +136,7 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
|
135
136
|
import { cva } from 'class-variance-authority';
|
|
136
137
|
import * as ReactDOM from 'react-dom';
|
|
137
138
|
import { createPortal } from 'react-dom';
|
|
138
|
-
import { FileUp, X, AlertCircle as AlertCircle$1, ChevronUp as ChevronUp$1, Check,
|
|
139
|
+
import { FileUp, X, AlertCircle as AlertCircle$1, ChevronUp as ChevronUp$1, Check, ChevronRight as ChevronRight$1, ChevronLeft, Calendar as Calendar$1, ChevronDown as ChevronDown$1, FolderUp, Upload, Edit2, Phone as Phone$1, Mail as Mail$1, Clock as Clock$1, MapPin, Shield, Building2, SlidersHorizontal, Trash2 as Trash2$1, Pencil as Pencil$1, Plus as Plus$1, Link as Link$1, AlertTriangle as AlertTriangle$1, RefreshCw as RefreshCw$1 } from 'lucide-react';
|
|
139
140
|
|
|
140
141
|
var SEX_OPTIONS = [
|
|
141
142
|
{ value: "F", label: "Female" },
|
|
@@ -1971,12 +1972,23 @@ function ComposerModelSelector({
|
|
|
1971
1972
|
placeholder = "Model",
|
|
1972
1973
|
anyLabel = "Any",
|
|
1973
1974
|
emptyLabel = "No models",
|
|
1974
|
-
ariaLabel = "Model"
|
|
1975
|
+
ariaLabel = "Model",
|
|
1976
|
+
effortOptions,
|
|
1977
|
+
effort = null,
|
|
1978
|
+
defaultEffort,
|
|
1979
|
+
onEffortChange,
|
|
1980
|
+
effortLabel = "Effort",
|
|
1981
|
+
effortHint,
|
|
1982
|
+
defaultBadgeLabel = "Default",
|
|
1983
|
+
backLabel = "Back"
|
|
1975
1984
|
}) {
|
|
1976
1985
|
const [open, setOpen] = React13.useState(false);
|
|
1986
|
+
const [view, setView] = React13.useState("models");
|
|
1987
|
+
const [effortHighlight, setEffortHighlight] = React13.useState(0);
|
|
1977
1988
|
const [internalProviderFilter, setInternalProviderFilter] = React13.useState(null);
|
|
1978
1989
|
const [highlightedIndex, setHighlightedIndex] = React13.useState(0);
|
|
1979
1990
|
const listRef = React13.useRef(null);
|
|
1991
|
+
const effortListRef = React13.useRef(null);
|
|
1980
1992
|
const menuId = React13.useId();
|
|
1981
1993
|
const {
|
|
1982
1994
|
anchorRef: triggerRef,
|
|
@@ -2040,6 +2052,10 @@ function ComposerModelSelector({
|
|
|
2040
2052
|
(index) => `${menuId}-option-${index}`,
|
|
2041
2053
|
[menuId]
|
|
2042
2054
|
);
|
|
2055
|
+
const getEffortOptionId = React13.useCallback(
|
|
2056
|
+
(index) => `${menuId}-effort-option-${index}`,
|
|
2057
|
+
[menuId]
|
|
2058
|
+
);
|
|
2043
2059
|
const activeOptionId = open && renderedModels[highlightedIndex] ? getOptionId(highlightedIndex) : void 0;
|
|
2044
2060
|
const selectedRenderedIndex = React13.useMemo(
|
|
2045
2061
|
() => selectedKey ? renderedModels.findIndex(
|
|
@@ -2072,6 +2088,48 @@ function ComposerModelSelector({
|
|
|
2072
2088
|
},
|
|
2073
2089
|
[close, onChange]
|
|
2074
2090
|
);
|
|
2091
|
+
const efforts = React13.useMemo(() => effortOptions ?? [], [effortOptions]);
|
|
2092
|
+
const activeEffortOptionId = open && efforts[effortHighlight] ? getEffortOptionId(effortHighlight) : void 0;
|
|
2093
|
+
const selectedEffortOption = efforts.find(
|
|
2094
|
+
(option) => option.value === effort
|
|
2095
|
+
);
|
|
2096
|
+
const selectEffort = React13.useCallback(
|
|
2097
|
+
(value2) => {
|
|
2098
|
+
onEffortChange?.(value2);
|
|
2099
|
+
close();
|
|
2100
|
+
},
|
|
2101
|
+
[close, onEffortChange]
|
|
2102
|
+
);
|
|
2103
|
+
const handleEffortKeyDown = (event) => {
|
|
2104
|
+
if (efforts.length === 0) return;
|
|
2105
|
+
if (event.key === "ArrowDown") {
|
|
2106
|
+
event.preventDefault();
|
|
2107
|
+
setEffortHighlight((current) => (current + 1) % efforts.length);
|
|
2108
|
+
}
|
|
2109
|
+
if (event.key === "ArrowUp") {
|
|
2110
|
+
event.preventDefault();
|
|
2111
|
+
setEffortHighlight(
|
|
2112
|
+
(current) => (current - 1 + efforts.length) % efforts.length
|
|
2113
|
+
);
|
|
2114
|
+
}
|
|
2115
|
+
if (event.key === "Home") {
|
|
2116
|
+
event.preventDefault();
|
|
2117
|
+
setEffortHighlight(0);
|
|
2118
|
+
}
|
|
2119
|
+
if (event.key === "End") {
|
|
2120
|
+
event.preventDefault();
|
|
2121
|
+
setEffortHighlight(efforts.length - 1);
|
|
2122
|
+
}
|
|
2123
|
+
if (event.key === "ArrowLeft" || event.key === "Backspace") {
|
|
2124
|
+
event.preventDefault();
|
|
2125
|
+
setView("models");
|
|
2126
|
+
}
|
|
2127
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
2128
|
+
event.preventDefault();
|
|
2129
|
+
const highlighted = efforts[effortHighlight];
|
|
2130
|
+
if (highlighted) selectEffort(highlighted.value);
|
|
2131
|
+
}
|
|
2132
|
+
};
|
|
2075
2133
|
const outsideRefs = React13.useMemo(
|
|
2076
2134
|
() => [triggerRef, menuRef],
|
|
2077
2135
|
[triggerRef, menuRef]
|
|
@@ -2082,6 +2140,15 @@ function ComposerModelSelector({
|
|
|
2082
2140
|
if (!open) return;
|
|
2083
2141
|
setHighlightedIndex(selectedRenderedIndex >= 0 ? selectedRenderedIndex : 0);
|
|
2084
2142
|
}, [activeProviderFilter, open, selectedRenderedIndex]);
|
|
2143
|
+
React13.useEffect(() => {
|
|
2144
|
+
if (!open) return;
|
|
2145
|
+
setView("models");
|
|
2146
|
+
}, [open]);
|
|
2147
|
+
React13.useEffect(() => {
|
|
2148
|
+
if (!open) return;
|
|
2149
|
+
const current = efforts.findIndex((option) => option.value === effort);
|
|
2150
|
+
setEffortHighlight(current >= 0 ? current : 0);
|
|
2151
|
+
}, [effort, efforts, open]);
|
|
2085
2152
|
React13.useEffect(() => {
|
|
2086
2153
|
if (!open) return;
|
|
2087
2154
|
setHighlightedIndex(
|
|
@@ -2090,10 +2157,11 @@ function ComposerModelSelector({
|
|
|
2090
2157
|
}, [open, renderedModels.length]);
|
|
2091
2158
|
React13.useEffect(() => {
|
|
2092
2159
|
if (!open) return;
|
|
2093
|
-
requestAnimationFrame(
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2160
|
+
requestAnimationFrame(() => {
|
|
2161
|
+
const target = view === "effort" ? effortListRef.current : listRef.current;
|
|
2162
|
+
target?.focus({ preventScroll: true });
|
|
2163
|
+
});
|
|
2164
|
+
}, [open, view]);
|
|
2097
2165
|
const handleTriggerKeyDown = (event) => {
|
|
2098
2166
|
if (event.key === "ArrowDown" || event.key === "ArrowUp") {
|
|
2099
2167
|
event.preventDefault();
|
|
@@ -2151,6 +2219,14 @@ function ComposerModelSelector({
|
|
|
2151
2219
|
),
|
|
2152
2220
|
children: [
|
|
2153
2221
|
/* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children: selectedOption?.label ?? selectedOption?.model ?? placeholder }),
|
|
2222
|
+
selectedEffortOption && /* @__PURE__ */ jsx(
|
|
2223
|
+
"span",
|
|
2224
|
+
{
|
|
2225
|
+
"data-slot": "composer-model-selector-trigger-effort",
|
|
2226
|
+
className: "text-muted-foreground min-w-0 truncate font-normal",
|
|
2227
|
+
children: selectedEffortOption.label
|
|
2228
|
+
}
|
|
2229
|
+
),
|
|
2154
2230
|
/* @__PURE__ */ jsx(ChevronUp$1, { "aria-hidden": "true", className: "h-3.5 w-3.5 shrink-0" })
|
|
2155
2231
|
]
|
|
2156
2232
|
}
|
|
@@ -2167,90 +2243,190 @@ function ComposerModelSelector({
|
|
|
2167
2243
|
"animate-in fade-in overflow-hidden duration-100"
|
|
2168
2244
|
),
|
|
2169
2245
|
children: [
|
|
2170
|
-
/* @__PURE__ */
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2246
|
+
view === "models" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2247
|
+
/* @__PURE__ */ jsx(
|
|
2248
|
+
"div",
|
|
2249
|
+
{
|
|
2250
|
+
"data-slot": "composer-model-selector-provider-filter",
|
|
2251
|
+
className: "border-border flex min-h-9 items-center gap-1 overflow-x-auto overflow-y-hidden border-b p-2",
|
|
2252
|
+
children: [null, ...providers].map((provider) => {
|
|
2253
|
+
const selected = activeProviderFilter === provider;
|
|
2254
|
+
return /* @__PURE__ */ jsx(
|
|
2255
|
+
"button",
|
|
2256
|
+
{
|
|
2257
|
+
type: "button",
|
|
2258
|
+
"aria-pressed": selected,
|
|
2259
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
2260
|
+
onClick: () => setProvider(provider),
|
|
2261
|
+
className: cn(
|
|
2262
|
+
"inline-flex h-6 shrink-0 items-center justify-center rounded-full px-2.5 text-xs font-medium whitespace-nowrap transition-colors",
|
|
2263
|
+
"focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none",
|
|
2264
|
+
selected ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-muted hover:text-foreground"
|
|
2265
|
+
),
|
|
2266
|
+
children: provider === null ? anyLabel : providerLabels.get(provider) ?? provider
|
|
2267
|
+
},
|
|
2268
|
+
provider ?? "all-providers"
|
|
2269
|
+
);
|
|
2270
|
+
})
|
|
2271
|
+
}
|
|
2272
|
+
),
|
|
2273
|
+
/* @__PURE__ */ jsx(
|
|
2274
|
+
"div",
|
|
2275
|
+
{
|
|
2276
|
+
ref: listRef,
|
|
2277
|
+
id: menuId,
|
|
2278
|
+
role: "listbox",
|
|
2279
|
+
"aria-label": ariaLabel,
|
|
2280
|
+
"aria-activedescendant": activeOptionId,
|
|
2281
|
+
tabIndex: -1,
|
|
2282
|
+
onKeyDown: handleMenuKeyDown,
|
|
2283
|
+
className: "min-h-0 flex-1 overflow-y-auto p-1",
|
|
2284
|
+
children: groupedModels.length === 0 ? /* @__PURE__ */ jsx("div", { className: "text-muted-foreground px-3 py-4 text-center text-sm", children: emptyLabel }) : groupedRenderedModels.map((group) => /* @__PURE__ */ jsxs(
|
|
2285
|
+
"div",
|
|
2179
2286
|
{
|
|
2180
|
-
|
|
2181
|
-
"aria-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2287
|
+
role: "group",
|
|
2288
|
+
"aria-label": providerLabels.get(group.provider) ?? group.provider,
|
|
2289
|
+
children: [
|
|
2290
|
+
/* @__PURE__ */ jsx("div", { className: "text-muted-foreground px-3 py-1.5 text-xs font-semibold uppercase", children: providerLabels.get(group.provider) ?? group.provider }),
|
|
2291
|
+
group.options.map((renderedModel) => {
|
|
2292
|
+
const { index, key, option: model } = renderedModel;
|
|
2293
|
+
const selected = optionKey(model) === selectedKey;
|
|
2294
|
+
const highlighted = index === highlightedIndex;
|
|
2295
|
+
return /* @__PURE__ */ jsxs(
|
|
2296
|
+
"button",
|
|
2297
|
+
{
|
|
2298
|
+
id: getOptionId(index),
|
|
2299
|
+
type: "button",
|
|
2300
|
+
role: "option",
|
|
2301
|
+
"aria-selected": selected,
|
|
2302
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
2303
|
+
onClick: () => selectModel(model),
|
|
2304
|
+
onMouseEnter: () => setHighlightedIndex(index),
|
|
2305
|
+
className: cn(
|
|
2306
|
+
"flex w-full items-center gap-2 rounded-md px-3 py-2 text-start text-sm",
|
|
2307
|
+
"focus-visible:ring-ring transition-colors focus-visible:ring-2 focus-visible:outline-none",
|
|
2308
|
+
highlighted && "bg-muted",
|
|
2309
|
+
selected && "bg-primary/10 text-primary"
|
|
2310
|
+
),
|
|
2311
|
+
children: [
|
|
2312
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate", children: model.label ?? model.model }),
|
|
2313
|
+
selected && /* @__PURE__ */ jsx(
|
|
2314
|
+
Check,
|
|
2315
|
+
{
|
|
2316
|
+
"aria-hidden": "true",
|
|
2317
|
+
className: "text-primary h-4 w-4 shrink-0"
|
|
2318
|
+
}
|
|
2319
|
+
)
|
|
2320
|
+
]
|
|
2321
|
+
},
|
|
2322
|
+
key
|
|
2323
|
+
);
|
|
2324
|
+
})
|
|
2325
|
+
]
|
|
2190
2326
|
},
|
|
2191
|
-
provider
|
|
2192
|
-
)
|
|
2193
|
-
}
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2327
|
+
group.provider
|
|
2328
|
+
))
|
|
2329
|
+
}
|
|
2330
|
+
),
|
|
2331
|
+
efforts.length > 0 && /* @__PURE__ */ jsx("div", { className: "border-border border-t p-1", children: /* @__PURE__ */ jsxs(
|
|
2332
|
+
"button",
|
|
2333
|
+
{
|
|
2334
|
+
type: "button",
|
|
2335
|
+
"data-slot": "composer-model-selector-effort-row",
|
|
2336
|
+
"aria-haspopup": "listbox",
|
|
2337
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
2338
|
+
onClick: () => setView("effort"),
|
|
2339
|
+
className: cn(
|
|
2340
|
+
"flex w-full items-center gap-2 rounded-md px-3 py-2 text-start text-sm",
|
|
2341
|
+
"hover:bg-muted transition-colors",
|
|
2342
|
+
"focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none"
|
|
2343
|
+
),
|
|
2344
|
+
children: [
|
|
2345
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate", children: effortLabel }),
|
|
2346
|
+
selectedEffortOption && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground min-w-0 truncate", children: selectedEffortOption.label }),
|
|
2347
|
+
/* @__PURE__ */ jsx(
|
|
2348
|
+
ChevronRight$1,
|
|
2349
|
+
{
|
|
2350
|
+
"aria-hidden": "true",
|
|
2351
|
+
className: "text-muted-foreground h-4 w-4 shrink-0"
|
|
2352
|
+
}
|
|
2353
|
+
)
|
|
2354
|
+
]
|
|
2355
|
+
}
|
|
2356
|
+
) })
|
|
2357
|
+
] }),
|
|
2358
|
+
view === "effort" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2359
|
+
/* @__PURE__ */ jsx("div", { className: "border-border flex items-center gap-1 border-b p-2", children: /* @__PURE__ */ jsxs(
|
|
2360
|
+
"button",
|
|
2361
|
+
{
|
|
2362
|
+
type: "button",
|
|
2363
|
+
"data-slot": "composer-model-selector-effort-back",
|
|
2364
|
+
"aria-label": backLabel,
|
|
2365
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
2366
|
+
onClick: () => setView("models"),
|
|
2367
|
+
className: cn(
|
|
2368
|
+
"inline-flex h-6 shrink-0 items-center gap-1 rounded-full px-2 text-xs font-medium",
|
|
2369
|
+
"text-muted-foreground hover:bg-muted hover:text-foreground transition-colors",
|
|
2370
|
+
"focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none"
|
|
2371
|
+
),
|
|
2372
|
+
children: [
|
|
2373
|
+
/* @__PURE__ */ jsx(ChevronLeft, { "aria-hidden": "true", className: "h-3.5 w-3.5" }),
|
|
2374
|
+
effortLabel
|
|
2375
|
+
]
|
|
2376
|
+
}
|
|
2377
|
+
) }),
|
|
2378
|
+
effortHint && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground px-3 pt-2 text-xs", children: effortHint }),
|
|
2379
|
+
/* @__PURE__ */ jsx(
|
|
2380
|
+
"div",
|
|
2381
|
+
{
|
|
2382
|
+
ref: effortListRef,
|
|
2383
|
+
id: menuId,
|
|
2384
|
+
role: "listbox",
|
|
2385
|
+
"aria-label": effortLabel,
|
|
2386
|
+
"aria-activedescendant": activeEffortOptionId,
|
|
2387
|
+
tabIndex: -1,
|
|
2388
|
+
onKeyDown: handleEffortKeyDown,
|
|
2389
|
+
className: "min-h-0 flex-1 overflow-y-auto p-1",
|
|
2390
|
+
children: efforts.map((option, index) => {
|
|
2391
|
+
const selected = option.value === effort;
|
|
2392
|
+
const highlighted = index === effortHighlight;
|
|
2393
|
+
return /* @__PURE__ */ jsxs(
|
|
2394
|
+
"button",
|
|
2395
|
+
{
|
|
2396
|
+
id: getEffortOptionId(index),
|
|
2397
|
+
type: "button",
|
|
2398
|
+
role: "option",
|
|
2399
|
+
"aria-selected": selected,
|
|
2400
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
2401
|
+
onClick: () => selectEffort(option.value),
|
|
2402
|
+
onMouseEnter: () => setEffortHighlight(index),
|
|
2403
|
+
className: cn(
|
|
2404
|
+
"flex w-full items-center gap-2 rounded-md px-3 py-2 text-start text-sm",
|
|
2405
|
+
"focus-visible:ring-ring transition-colors focus-visible:ring-2 focus-visible:outline-none",
|
|
2406
|
+
highlighted && "bg-muted",
|
|
2407
|
+
selected && "bg-primary/10 text-primary"
|
|
2408
|
+
),
|
|
2409
|
+
children: [
|
|
2410
|
+
/* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1", children: [
|
|
2411
|
+
/* @__PURE__ */ jsx("span", { className: "block truncate", children: option.label }),
|
|
2412
|
+
option.description && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground block truncate text-xs", children: option.description })
|
|
2413
|
+
] }),
|
|
2414
|
+
option.value === defaultEffort && /* @__PURE__ */ jsx("span", { className: "bg-muted text-muted-foreground shrink-0 rounded px-1.5 py-0.5 text-xs", children: defaultBadgeLabel }),
|
|
2415
|
+
selected && /* @__PURE__ */ jsx(
|
|
2416
|
+
Check,
|
|
2417
|
+
{
|
|
2418
|
+
"aria-hidden": "true",
|
|
2419
|
+
className: "text-primary h-4 w-4 shrink-0"
|
|
2420
|
+
}
|
|
2421
|
+
)
|
|
2422
|
+
]
|
|
2423
|
+
},
|
|
2424
|
+
option.value
|
|
2425
|
+
);
|
|
2426
|
+
})
|
|
2427
|
+
}
|
|
2428
|
+
)
|
|
2429
|
+
] })
|
|
2254
2430
|
]
|
|
2255
2431
|
}
|
|
2256
2432
|
),
|