@mieweb/ui 0.7.1-dev.14 → 0.7.1-dev.16

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 (95) hide show
  1. package/dist/{chunk-XCVBCY7L.cjs → chunk-26DPQUSB.cjs} +4 -4
  2. package/dist/{chunk-XCVBCY7L.cjs.map → chunk-26DPQUSB.cjs.map} +1 -1
  3. package/dist/{chunk-BZMBCKW2.cjs → chunk-3G2HFPCC.cjs} +8 -8
  4. package/dist/{chunk-BZMBCKW2.cjs.map → chunk-3G2HFPCC.cjs.map} +1 -1
  5. package/dist/{chunk-UXBRRSJ6.js → chunk-5BDCQBYW.js} +3 -3
  6. package/dist/{chunk-UXBRRSJ6.js.map → chunk-5BDCQBYW.js.map} +1 -1
  7. package/dist/{chunk-C7I3ZGMQ.cjs → chunk-6J7UGYT5.cjs} +4 -4
  8. package/dist/{chunk-C7I3ZGMQ.cjs.map → chunk-6J7UGYT5.cjs.map} +1 -1
  9. package/dist/{chunk-JJNCQMR5.js → chunk-BMRQ4VME.js} +3 -3
  10. package/dist/{chunk-JJNCQMR5.js.map → chunk-BMRQ4VME.js.map} +1 -1
  11. package/dist/{chunk-QA6ZDHFP.js → chunk-BOOJDRJO.js} +35 -11
  12. package/dist/chunk-BOOJDRJO.js.map +1 -0
  13. package/dist/{chunk-34LGPMO4.js → chunk-DLBV42JD.js} +3 -3
  14. package/dist/{chunk-34LGPMO4.js.map → chunk-DLBV42JD.js.map} +1 -1
  15. package/dist/{chunk-IXWRD4AP.js → chunk-EKRT7K2K.js} +3 -3
  16. package/dist/{chunk-IXWRD4AP.js.map → chunk-EKRT7K2K.js.map} +1 -1
  17. package/dist/{chunk-MHD5HZ4X.js → chunk-FDV7EQWH.js} +3 -3
  18. package/dist/{chunk-MHD5HZ4X.js.map → chunk-FDV7EQWH.js.map} +1 -1
  19. package/dist/{chunk-EDBGSGUK.cjs → chunk-GLRLOJMV.cjs} +4 -4
  20. package/dist/{chunk-EDBGSGUK.cjs.map → chunk-GLRLOJMV.cjs.map} +1 -1
  21. package/dist/{chunk-GDBPFHNX.js → chunk-HIDV32ZX.js} +3 -3
  22. package/dist/{chunk-GDBPFHNX.js.map → chunk-HIDV32ZX.js.map} +1 -1
  23. package/dist/{chunk-ZDEYV373.cjs → chunk-MYFZYUPR.cjs} +35 -11
  24. package/dist/chunk-MYFZYUPR.cjs.map +1 -0
  25. package/dist/{chunk-I2BKK3AQ.js → chunk-NGLI2MSM.js} +3 -3
  26. package/dist/{chunk-I2BKK3AQ.js.map → chunk-NGLI2MSM.js.map} +1 -1
  27. package/dist/{chunk-IS5PNYR7.js → chunk-P6L74SKG.js} +3 -3
  28. package/dist/{chunk-IS5PNYR7.js.map → chunk-P6L74SKG.js.map} +1 -1
  29. package/dist/{chunk-GKWWFJDB.cjs → chunk-Q5VBO3I5.cjs} +5 -5
  30. package/dist/{chunk-GKWWFJDB.cjs.map → chunk-Q5VBO3I5.cjs.map} +1 -1
  31. package/dist/{chunk-UTCFBBOD.cjs → chunk-QI2SB6U3.cjs} +7 -7
  32. package/dist/{chunk-UTCFBBOD.cjs.map → chunk-QI2SB6U3.cjs.map} +1 -1
  33. package/dist/{chunk-477Z2DYN.js → chunk-QOBNYNKZ.js} +4 -4
  34. package/dist/{chunk-477Z2DYN.js.map → chunk-QOBNYNKZ.js.map} +1 -1
  35. package/dist/{chunk-U4HA2WHA.cjs → chunk-RBS3GHDZ.cjs} +4 -4
  36. package/dist/{chunk-U4HA2WHA.cjs.map → chunk-RBS3GHDZ.cjs.map} +1 -1
  37. package/dist/{chunk-4G3NJLQA.js → chunk-RGRSJYZF.js} +3 -3
  38. package/dist/{chunk-4G3NJLQA.js.map → chunk-RGRSJYZF.js.map} +1 -1
  39. package/dist/{chunk-YXHX2DAK.cjs → chunk-RYQ3S3KO.cjs} +5 -5
  40. package/dist/{chunk-YXHX2DAK.cjs.map → chunk-RYQ3S3KO.cjs.map} +1 -1
  41. package/dist/{chunk-QEBVYLI7.js → chunk-RZJXCI53.js} +5 -2
  42. package/dist/chunk-RZJXCI53.js.map +1 -0
  43. package/dist/{chunk-C2NNNOSU.cjs → chunk-VVI32P7L.cjs} +4 -4
  44. package/dist/{chunk-C2NNNOSU.cjs.map → chunk-VVI32P7L.cjs.map} +1 -1
  45. package/dist/{chunk-V3S7QNFF.cjs → chunk-XS35KPBZ.cjs} +5 -2
  46. package/dist/chunk-XS35KPBZ.cjs.map +1 -0
  47. package/dist/{chunk-OJEXXH5D.cjs → chunk-ZBI52NP2.cjs} +4 -4
  48. package/dist/{chunk-OJEXXH5D.cjs.map → chunk-ZBI52NP2.cjs.map} +1 -1
  49. package/dist/components/Autocomplete/index.cjs +3 -3
  50. package/dist/components/Autocomplete/index.js +2 -2
  51. package/dist/components/CountryCodeDropdown/index.cjs +5 -5
  52. package/dist/components/CountryCodeDropdown/index.js +2 -2
  53. package/dist/components/DateInput/index.cjs +3 -3
  54. package/dist/components/DateInput/index.js +2 -2
  55. package/dist/components/Dropdown/index.cjs +8 -8
  56. package/dist/components/Dropdown/index.d.cts +1 -1
  57. package/dist/components/Dropdown/index.d.ts +1 -1
  58. package/dist/components/Dropdown/index.js +2 -2
  59. package/dist/components/MediaEditor/index.cjs +8 -8
  60. package/dist/components/MediaEditor/index.js +3 -3
  61. package/dist/components/RichTextEditor/index.cjs +6 -6
  62. package/dist/components/RichTextEditor/index.js +3 -3
  63. package/dist/components/Select/index.cjs +4 -4
  64. package/dist/components/Select/index.js +2 -2
  65. package/dist/components/SuperChat/index.cjs +14 -14
  66. package/dist/components/SuperChat/index.d.cts +4 -4
  67. package/dist/components/SuperChat/index.d.ts +4 -4
  68. package/dist/components/SuperChat/index.js +4 -4
  69. package/dist/components/SuperChat/plugins/index.cjs +4 -4
  70. package/dist/components/SuperChat/plugins/index.d.cts +3 -3
  71. package/dist/components/SuperChat/plugins/index.d.ts +3 -3
  72. package/dist/components/SuperChat/plugins/index.js +3 -3
  73. package/dist/esheet.cjs +7 -7
  74. package/dist/esheet.js +4 -4
  75. package/dist/hooks/index.cjs +2 -2
  76. package/dist/hooks/index.d.cts +1 -1
  77. package/dist/hooks/index.d.ts +1 -1
  78. package/dist/hooks/index.js +1 -1
  79. package/dist/index.cjs +510 -184
  80. package/dist/index.cjs.map +1 -1
  81. package/dist/index.d.cts +49 -6
  82. package/dist/index.d.ts +49 -6
  83. package/dist/index.js +349 -24
  84. package/dist/index.js.map +1 -1
  85. package/dist/{types-BYnLjEFg.d.cts → types-B2RLmdVd.d.cts} +3 -1
  86. package/dist/{types-BYnLjEFg.d.ts → types-B2RLmdVd.d.ts} +3 -1
  87. package/dist/{types-CyCwYBlr.d.ts → types-BoTeTPdH.d.ts} +1 -1
  88. package/dist/{types-CBh8Zlje.d.cts → types-DyIB9HYT.d.cts} +1 -1
  89. package/dist/{useAnchoredPosition-nXdSFKHf.d.cts → useAnchoredPosition-C7PNglzD.d.cts} +6 -2
  90. package/dist/{useAnchoredPosition-nXdSFKHf.d.ts → useAnchoredPosition-C7PNglzD.d.ts} +6 -2
  91. package/package.json +1 -1
  92. package/dist/chunk-QA6ZDHFP.js.map +0 -1
  93. package/dist/chunk-QEBVYLI7.js.map +0 -1
  94. package/dist/chunk-V3S7QNFF.cjs.map +0 -1
  95. package/dist/chunk-ZDEYV373.cjs.map +0 -1
package/dist/index.js CHANGED
@@ -26,19 +26,19 @@ import { Skeleton } from './chunk-ZIUADGAR.js';
26
26
  export { Skeleton, SkeletonCard, SkeletonTable, SkeletonText, skeletonVariants } from './chunk-ZIUADGAR.js';
27
27
  import { Spinner, SpinnerWithLabel } from './chunk-UA7E7PDS.js';
28
28
  export { FullPageSpinner, Spinner, SpinnerWithLabel, spinnerVariants } from './chunk-UA7E7PDS.js';
29
- import { SparklesIcon, RefreshIcon, CloseIcon, AIMessageDisplay } from './chunk-QEBVYLI7.js';
30
- export { AILogoIcon, AIMessageDisplay, AITypingIndicator, ChatBubble, ChevronIcon, CloseIcon, CollapsiblePill, MCPToolCallDisplay, MessageAvatar, RefreshIcon, ResourceLink, SendIcon, SparklesIcon, SpinnerIcon, ToolStatusIcon, getToolIcon } from './chunk-QEBVYLI7.js';
31
- import { EmptyState } from './chunk-MHD5HZ4X.js';
32
- export { AttachmentPreview, ConversationHeader, ConversationListItem, ConversationListSkeleton, DateSeparator, EmptyState, LightboxModal, LoadMoreButton, MessageBubble, MessageList, MessageStatusIcon, MessageThread, MessagingSplitView, ReadReceiptIndicator, SkeletonMessage, TypingIndicator, bubbleVariants, formatDateLabel, formatFileSize, formatLastSeen, getConversationSubtitle, getConversationTitle, groupMessagesByDate, headerVariants, isSameSenderGroup, useMessageScroll, useMessages, useReadReceipts, useTypingIndicator } from './chunk-MHD5HZ4X.js';
33
- import { MessageComposer } from './chunk-IXWRD4AP.js';
34
- export { AttachmentPicker, AttachmentPreviewItem, CameraButton, CharacterCounter, DragDropZone, MessageComposer, SendButton, generateAttachmentId, getFileType, sendButtonVariants, validateFile } from './chunk-IXWRD4AP.js';
29
+ import { SparklesIcon, RefreshIcon, CloseIcon, AIMessageDisplay } from './chunk-RZJXCI53.js';
30
+ export { AILogoIcon, AIMessageDisplay, AITypingIndicator, ChatBubble, ChevronIcon, CloseIcon, CollapsiblePill, MCPToolCallDisplay, MessageAvatar, RefreshIcon, ResourceLink, SendIcon, SparklesIcon, SpinnerIcon, ToolStatusIcon, getToolIcon } from './chunk-RZJXCI53.js';
31
+ import { EmptyState } from './chunk-FDV7EQWH.js';
32
+ export { AttachmentPreview, ConversationHeader, ConversationListItem, ConversationListSkeleton, DateSeparator, EmptyState, LightboxModal, LoadMoreButton, MessageBubble, MessageList, MessageStatusIcon, MessageThread, MessagingSplitView, ReadReceiptIndicator, SkeletonMessage, TypingIndicator, bubbleVariants, formatDateLabel, formatFileSize, formatLastSeen, getConversationSubtitle, getConversationTitle, groupMessagesByDate, headerVariants, isSameSenderGroup, useMessageScroll, useMessages, useReadReceipts, useTypingIndicator } from './chunk-FDV7EQWH.js';
33
+ import { MessageComposer } from './chunk-EKRT7K2K.js';
34
+ export { AttachmentPicker, AttachmentPreviewItem, CameraButton, CharacterCounter, DragDropZone, MessageComposer, SendButton, generateAttachmentId, getFileType, sendButtonVariants, validateFile } from './chunk-EKRT7K2K.js';
35
35
  export { PhoneInput, PhoneInputGroup } from './chunk-3D4ITDLO.js';
36
36
  import { Progress } from './chunk-CEQJGUAS.js';
37
37
  export { CircularProgress, Progress, circularProgressVariants, progressBarFillVariants, progressBarTrackVariants } from './chunk-CEQJGUAS.js';
38
38
  export { QuickAction, QuickActionGroup, QuickActionIcons, quickActionIconVariants, quickActionVariants } from './chunk-5U6GETAW.js';
39
39
  import { RecordButton } from './chunk-VNWJTCBQ.js';
40
40
  export { RecordButton, formatDuration, recordButtonVariants } from './chunk-VNWJTCBQ.js';
41
- export { RichTextEditor, convertAngleBracketsToMustache, processDictation } from './chunk-UXBRRSJ6.js';
41
+ export { RichTextEditor, convertAngleBracketsToMustache, processDictation } from './chunk-5BDCQBYW.js';
42
42
  export { Separator, separatorVariants } from './chunk-OQWZYKJM.js';
43
43
  export { DateButton, DatePicker, RadioOption, SchedulePicker, TimeButton, TimePicker, dateButtonVariants, radioOptionVariants, timeButtonVariants } from './chunk-23AYDOCH.js';
44
44
  export { ScrollArea, scrollAreaVariants } from './chunk-HS25RPDW.js';
@@ -49,7 +49,7 @@ export { HtmlPreviewBlock } from './chunk-MWPPOX6F.js';
49
49
  export { MermaidBlock } from './chunk-NU6QKULE.js';
50
50
  export { SurveyBlock } from './chunk-VE6OUO7X.js';
51
51
  export { FenceBlock } from './chunk-RZFSJD67.js';
52
- export { FillerWordsModal, MediaEditor, SilenceSettingsModal, SpeedMarkerMenu, WordEditorModal } from './chunk-I2BKK3AQ.js';
52
+ export { FillerWordsModal, MediaEditor, SilenceSettingsModal, SpeedMarkerMenu, WordEditorModal } from './chunk-NGLI2MSM.js';
53
53
  export { Slider, sliderRangeVariants, sliderThumbVariants, sliderTrackVariants } from './chunk-OTQ72WX3.js';
54
54
  import './chunk-RISZWWEQ.js';
55
55
  export { MediaPlayer, inferMediaKind, mediaPlayerVariants } from './chunk-PS5INHGC.js';
@@ -59,24 +59,24 @@ import { Checkbox } from './chunk-KFLDXJEE.js';
59
59
  export { Checkbox, CheckboxGroup, checkboxVariants } from './chunk-KFLDXJEE.js';
60
60
  export { CollabStatus, defaultCollabStatusLabels, useYjsCollabStatus } from './chunk-SVSHA7XV.js';
61
61
  export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './chunk-BJKAVWED.js';
62
- export { CountryCodeDropdown, formatE164, validatePhoneNumber } from './chunk-JJNCQMR5.js';
63
- import { Dropdown, DropdownItem, DropdownSeparator, DropdownHeader } from './chunk-GDBPFHNX.js';
64
- export { Dropdown, DropdownContent, DropdownHeader, DropdownItem, DropdownLabel, DropdownSeparator } from './chunk-GDBPFHNX.js';
62
+ export { CountryCodeDropdown, formatE164, validatePhoneNumber } from './chunk-BMRQ4VME.js';
63
+ import { Dropdown, DropdownItem, DropdownSeparator, DropdownHeader } from './chunk-HIDV32ZX.js';
64
+ export { Dropdown, DropdownContent, DropdownHeader, DropdownItem, DropdownLabel, DropdownSeparator } from './chunk-HIDV32ZX.js';
65
65
  import { Alert, AlertTitle, AlertDescription } from './chunk-6EWJGRC3.js';
66
66
  export { Alert, AlertDescription, AlertTitle, alertVariants } from './chunk-6EWJGRC3.js';
67
67
  import { AlertDialog } from './chunk-H3HF36ZL.js';
68
68
  export { AlertDialog } from './chunk-H3HF36ZL.js';
69
69
  export { AudioPlayer, ProgressBar, audioPlayerVariants, formatTime as formatAudioTime, playButtonVariants } from './chunk-XO3WLK65.js';
70
70
  export { AudioRecorder, audioRecorderVariants, controlButtonVariants, formatTime, waveformContainerVariants } from './chunk-2DW4PUJD.js';
71
- export { Autocomplete } from './chunk-IS5PNYR7.js';
71
+ export { Autocomplete } from './chunk-P6L74SKG.js';
72
72
  import { Avatar } from './chunk-DCBMTFLE.js';
73
73
  export { Avatar, AvatarGroup, avatarVariants, getInitials } from './chunk-DCBMTFLE.js';
74
74
  import './chunk-IQ4KQJAO.js';
75
75
  export { Breadcrumb, BreadcrumbSlash } from './chunk-5Y5FSR4N.js';
76
76
  import { evaluateDue, completedKeys, normalizeOrders } from './chunk-Y5KEFV5O.js';
77
77
  export { buildChartOrderRows, buildEncounterOrderRows, dueForOrder, evaluateDue, evaluateProgram, isApplicable } from './chunk-Y5KEFV5O.js';
78
- import { useCodeLookupConfig, RowActionToolbar, RowIconButton, toolbarKeyNav, parseSig, labelToMedicationFields, MedicationEditor } from './chunk-477Z2DYN.js';
79
- export { ALLERGY_TYPE_LABELS, AllergyList, AllergyManager, CodeLookupProvider, MEDICATION_STATUS_LABELS, MedicationEditor, MedicationList, MedicationReconciliation, RowActionToolbar, RowIconButton, labelToMedicationFields, lookupToMedicationFields, parseMedicationLabel, parseSig, toolbarKeyNav, useCodeLookupConfig } from './chunk-477Z2DYN.js';
78
+ import { useCodeLookupConfig, RowActionToolbar, RowIconButton, toolbarKeyNav, parseSig, labelToMedicationFields, MedicationEditor } from './chunk-QOBNYNKZ.js';
79
+ export { ALLERGY_TYPE_LABELS, AllergyList, AllergyManager, CodeLookupProvider, MEDICATION_STATUS_LABELS, MedicationEditor, MedicationList, MedicationReconciliation, RowActionToolbar, RowIconButton, labelToMedicationFields, lookupToMedicationFields, parseMedicationLabel, parseSig, toolbarKeyNav, useCodeLookupConfig } from './chunk-QOBNYNKZ.js';
80
80
  import { Textarea } from './chunk-AFGADE3B.js';
81
81
  export { Textarea, textareaVariants } from './chunk-AFGADE3B.js';
82
82
  import { Tooltip } from './chunk-FJ7YPVKV.js';
@@ -85,12 +85,12 @@ import { RadioGroup, Radio } from './chunk-QUUBTNMH.js';
85
85
  export { Radio, RadioGroup, radioVariants } from './chunk-QUUBTNMH.js';
86
86
  import { Label } from './chunk-I3WGZPI6.js';
87
87
  export { Label, labelVariants } from './chunk-I3WGZPI6.js';
88
- import { Select } from './chunk-34LGPMO4.js';
89
- export { Select, selectTriggerVariants } from './chunk-34LGPMO4.js';
88
+ import { Select } from './chunk-DLBV42JD.js';
89
+ export { Select, selectTriggerVariants } from './chunk-DLBV42JD.js';
90
90
  import { Card, CardHeader, CardContent, CardTitle } from './chunk-QYSUYB3S.js';
91
91
  export { Card, CardActions, CardBadge, CardCollapsible, CardContent, CardDescription, CardDivider, CardFooter, CardHeader, CardMedia, CardStat, CardTitle, cardAccentVariants, cardVariants } from './chunk-QYSUYB3S.js';
92
- import { DateInput } from './chunk-4G3NJLQA.js';
93
- export { DateInput } from './chunk-4G3NJLQA.js';
92
+ import { DateInput } from './chunk-RGRSJYZF.js';
93
+ export { DateInput } from './chunk-RGRSJYZF.js';
94
94
  import { Modal, ModalHeader, ModalTitle, ModalClose, ModalBody, ModalFooter } from './chunk-XMCIXHGH.js';
95
95
  export { Modal, ModalBody, ModalClose, ModalFooter, ModalHeader, ModalTitle, modalContentVariants, modalOverlayVariants } from './chunk-XMCIXHGH.js';
96
96
  import { Input, inputVariants } from './chunk-YXCE2HSK.js';
@@ -116,8 +116,8 @@ import { useEscapeKey } from './chunk-T4ME7QCT.js';
116
116
  export { useEscapeKey } from './chunk-T4ME7QCT.js';
117
117
  import { useClickOutside } from './chunk-62ZOA6PX.js';
118
118
  export { useClickOutside } from './chunk-62ZOA6PX.js';
119
- import { useAnchoredPosition } from './chunk-QA6ZDHFP.js';
120
- export { useAnchoredPosition } from './chunk-QA6ZDHFP.js';
119
+ import { useAnchoredPosition } from './chunk-BOOJDRJO.js';
120
+ export { useAnchoredPosition } from './chunk-BOOJDRJO.js';
121
121
  import './chunk-7XUN3OQT.js';
122
122
  export { formatPhoneNumber, isPhoneNumberEmpty, isValidPhoneNumber, unformatPhoneNumber } from './chunk-ZVPJ2MH6.js';
123
123
  export { isHtmlEmpty, stripHtmlTags } from './chunk-ERLPVXOV.js';
@@ -134,7 +134,7 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
134
134
  import { cva } from 'class-variance-authority';
135
135
  import * as ReactDOM from 'react-dom';
136
136
  import { createPortal } from 'react-dom';
137
- import { FileUp, X, AlertCircle as AlertCircle$1, Calendar as Calendar$1, ChevronLeft, ChevronRight as ChevronRight$1, ChevronDown as ChevronDown$1, FolderUp, Upload, Edit2, Check, ChevronUp as ChevronUp$1, 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';
137
+ import { FileUp, X, AlertCircle as AlertCircle$1, ChevronUp as ChevronUp$1, Check, Calendar as Calendar$1, ChevronLeft, ChevronRight as ChevronRight$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';
138
138
 
139
139
  var SEX_OPTIONS = [
140
140
  { value: "F", label: "Female" },
@@ -1470,7 +1470,8 @@ function AIChat({
1470
1470
  onCancel,
1471
1471
  onClear,
1472
1472
  onClose,
1473
- renderTextContent
1473
+ renderTextContent,
1474
+ renderMessageFooter
1474
1475
  }) {
1475
1476
  const messagesEndRef = React10.useRef(null);
1476
1477
  const messages = React10.useMemo(
@@ -1584,7 +1585,8 @@ function AIChat({
1584
1585
  userName,
1585
1586
  showTimestamp: showTimestamps,
1586
1587
  onLinkClick: handleLinkClick,
1587
- renderTextContent
1588
+ renderTextContent,
1589
+ renderMessageFooter
1588
1590
  },
1589
1591
  message.id
1590
1592
  )),
@@ -5578,6 +5580,329 @@ function VisitScribe({
5578
5580
  }
5579
5581
  );
5580
5582
  }
5583
+ var MENU_OFFSET_PX = 6;
5584
+ var MENU_MAX_HEIGHT_PX = 320;
5585
+ function optionKey(option) {
5586
+ return `${option.provider}\0${option.model}`;
5587
+ }
5588
+ function renderedOptionKey(option, index) {
5589
+ return `${option.id ?? optionKey(option)}\0${index}`;
5590
+ }
5591
+ function groupByProvider(models) {
5592
+ const groups = /* @__PURE__ */ new Map();
5593
+ for (const model of models) {
5594
+ const group = groups.get(model.provider);
5595
+ if (group) {
5596
+ group.push(model);
5597
+ } else {
5598
+ groups.set(model.provider, [model]);
5599
+ }
5600
+ }
5601
+ return Array.from(groups, ([provider, options]) => ({ provider, options }));
5602
+ }
5603
+ function getProviderLabel(models, provider) {
5604
+ return models.find((model) => model.provider === provider && model.providerLabel)?.providerLabel ?? provider;
5605
+ }
5606
+ function ComposerModelSelector({
5607
+ models,
5608
+ value,
5609
+ providerFilter,
5610
+ onProviderFilterChange,
5611
+ onChange,
5612
+ disabled = false,
5613
+ className,
5614
+ boundaryRef,
5615
+ placeholder = "Model",
5616
+ anyLabel = "Any",
5617
+ emptyLabel = "No models",
5618
+ ariaLabel = "Model"
5619
+ }) {
5620
+ const [open, setOpen] = React10.useState(false);
5621
+ const [internalProviderFilter, setInternalProviderFilter] = React10.useState(null);
5622
+ const [highlightedIndex, setHighlightedIndex] = React10.useState(0);
5623
+ const listRef = React10.useRef(null);
5624
+ const menuId = React10.useId();
5625
+ const {
5626
+ anchorRef: triggerRef,
5627
+ floatingRef: menuRef,
5628
+ style: menuStyle
5629
+ } = useAnchoredPosition({
5630
+ open,
5631
+ placement: "top-start",
5632
+ offset: MENU_OFFSET_PX,
5633
+ matchMinWidth: true,
5634
+ maxHeight: MENU_MAX_HEIGHT_PX,
5635
+ allowFlip: false,
5636
+ boundaryRef
5637
+ });
5638
+ const activeProviderFilter = providerFilter === void 0 ? internalProviderFilter : providerFilter;
5639
+ const selectedKey = value ? optionKey(value) : null;
5640
+ const selectedOption = models.find(
5641
+ (model) => optionKey(model) === selectedKey
5642
+ );
5643
+ const providers = React10.useMemo(
5644
+ () => Array.from(new Set(models.map((model) => model.provider))),
5645
+ [models]
5646
+ );
5647
+ const providerLabels = React10.useMemo(
5648
+ () => new Map(
5649
+ providers.map((provider) => [
5650
+ provider,
5651
+ getProviderLabel(models, provider)
5652
+ ])
5653
+ ),
5654
+ [models, providers]
5655
+ );
5656
+ const filteredModels = React10.useMemo(
5657
+ () => activeProviderFilter === null ? models : models.filter((model) => model.provider === activeProviderFilter),
5658
+ [activeProviderFilter, models]
5659
+ );
5660
+ const groupedModels = React10.useMemo(
5661
+ () => groupByProvider(filteredModels),
5662
+ [filteredModels]
5663
+ );
5664
+ const groupedRenderedModels = React10.useMemo(() => {
5665
+ let index = 0;
5666
+ return groupedModels.map((group) => ({
5667
+ provider: group.provider,
5668
+ options: group.options.map((option) => {
5669
+ const rendered = {
5670
+ option,
5671
+ index,
5672
+ key: renderedOptionKey(option, index)
5673
+ };
5674
+ index += 1;
5675
+ return rendered;
5676
+ })
5677
+ }));
5678
+ }, [groupedModels]);
5679
+ const renderedModels = React10.useMemo(
5680
+ () => groupedRenderedModels.flatMap((group) => group.options),
5681
+ [groupedRenderedModels]
5682
+ );
5683
+ const getOptionId = React10.useCallback(
5684
+ (index) => `${menuId}-option-${index}`,
5685
+ [menuId]
5686
+ );
5687
+ const activeOptionId = open && renderedModels[highlightedIndex] ? getOptionId(highlightedIndex) : void 0;
5688
+ const selectedRenderedIndex = React10.useMemo(
5689
+ () => selectedKey ? renderedModels.findIndex(
5690
+ (renderedModel) => optionKey(renderedModel.option) === selectedKey
5691
+ ) : -1,
5692
+ [renderedModels, selectedKey]
5693
+ );
5694
+ const setProvider = React10.useCallback(
5695
+ (provider) => {
5696
+ if (providerFilter === void 0) {
5697
+ setInternalProviderFilter(provider);
5698
+ }
5699
+ onProviderFilterChange?.(provider);
5700
+ },
5701
+ [onProviderFilterChange, providerFilter]
5702
+ );
5703
+ const close = React10.useCallback(
5704
+ (restoreFocus = true) => {
5705
+ setOpen(false);
5706
+ if (restoreFocus) {
5707
+ triggerRef.current?.focus({ preventScroll: true });
5708
+ }
5709
+ },
5710
+ [triggerRef]
5711
+ );
5712
+ const selectModel = React10.useCallback(
5713
+ (model) => {
5714
+ onChange({ provider: model.provider, model: model.model });
5715
+ close();
5716
+ },
5717
+ [close, onChange]
5718
+ );
5719
+ const outsideRefs = React10.useMemo(
5720
+ () => [triggerRef, menuRef],
5721
+ [triggerRef, menuRef]
5722
+ );
5723
+ useClickOutside(outsideRefs, () => close(false), open);
5724
+ useEscapeKey(close, open);
5725
+ React10.useEffect(() => {
5726
+ if (!open) return;
5727
+ setHighlightedIndex(selectedRenderedIndex >= 0 ? selectedRenderedIndex : 0);
5728
+ }, [activeProviderFilter, open, selectedRenderedIndex]);
5729
+ React10.useEffect(() => {
5730
+ if (!open) return;
5731
+ setHighlightedIndex(
5732
+ (current) => Math.min(current, Math.max(renderedModels.length - 1, 0))
5733
+ );
5734
+ }, [open, renderedModels.length]);
5735
+ React10.useEffect(() => {
5736
+ if (!open) return;
5737
+ requestAnimationFrame(
5738
+ () => listRef.current?.focus({ preventScroll: true })
5739
+ );
5740
+ }, [open]);
5741
+ const handleTriggerKeyDown = (event) => {
5742
+ if (event.key === "ArrowDown" || event.key === "ArrowUp") {
5743
+ event.preventDefault();
5744
+ setOpen(true);
5745
+ }
5746
+ };
5747
+ const handleMenuKeyDown = (event) => {
5748
+ if (renderedModels.length === 0) return;
5749
+ if (event.key === "ArrowDown") {
5750
+ event.preventDefault();
5751
+ setHighlightedIndex((current) => (current + 1) % renderedModels.length);
5752
+ }
5753
+ if (event.key === "ArrowUp") {
5754
+ event.preventDefault();
5755
+ setHighlightedIndex(
5756
+ (current) => (current - 1 + renderedModels.length) % renderedModels.length
5757
+ );
5758
+ }
5759
+ if (event.key === "Home") {
5760
+ event.preventDefault();
5761
+ setHighlightedIndex(0);
5762
+ }
5763
+ if (event.key === "End") {
5764
+ event.preventDefault();
5765
+ setHighlightedIndex(renderedModels.length - 1);
5766
+ }
5767
+ if (event.key === "Enter" || event.key === " ") {
5768
+ event.preventDefault();
5769
+ const highlightedModel = renderedModels[highlightedIndex]?.option;
5770
+ if (highlightedModel) {
5771
+ selectModel(highlightedModel);
5772
+ }
5773
+ }
5774
+ };
5775
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
5776
+ /* @__PURE__ */ jsxs(
5777
+ "button",
5778
+ {
5779
+ ref: triggerRef,
5780
+ type: "button",
5781
+ disabled,
5782
+ "aria-haspopup": "listbox",
5783
+ "aria-expanded": open,
5784
+ "aria-controls": open ? menuId : void 0,
5785
+ onClick: () => setOpen((current) => !current),
5786
+ onKeyDown: handleTriggerKeyDown,
5787
+ "data-slot": "composer-model-selector-trigger",
5788
+ className: cn(
5789
+ "inline-flex h-8 max-w-full items-center gap-1.5 rounded-full border px-2.5 text-sm font-medium",
5790
+ "border-border bg-background text-foreground shadow-sm",
5791
+ "hover:bg-muted/50",
5792
+ "focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none",
5793
+ "disabled:cursor-not-allowed disabled:opacity-50",
5794
+ className
5795
+ ),
5796
+ children: [
5797
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children: selectedOption?.label ?? selectedOption?.model ?? placeholder }),
5798
+ /* @__PURE__ */ jsx(ChevronUp$1, { "aria-hidden": "true", className: "h-3.5 w-3.5 shrink-0" })
5799
+ ]
5800
+ }
5801
+ ),
5802
+ open && createPortal(
5803
+ /* @__PURE__ */ jsxs(
5804
+ "div",
5805
+ {
5806
+ ref: menuRef,
5807
+ style: menuStyle,
5808
+ "data-slot": "composer-model-selector-menu",
5809
+ className: cn(
5810
+ "border-border bg-card text-card-foreground flex w-80 max-w-full flex-col rounded-lg border shadow-lg",
5811
+ "animate-in fade-in overflow-hidden duration-100"
5812
+ ),
5813
+ children: [
5814
+ /* @__PURE__ */ jsx(
5815
+ "div",
5816
+ {
5817
+ "data-slot": "composer-model-selector-provider-filter",
5818
+ className: "border-border flex min-h-9 items-center gap-1 overflow-x-auto overflow-y-hidden border-b p-2",
5819
+ children: [null, ...providers].map((provider) => {
5820
+ const selected = activeProviderFilter === provider;
5821
+ return /* @__PURE__ */ jsx(
5822
+ "button",
5823
+ {
5824
+ type: "button",
5825
+ "aria-pressed": selected,
5826
+ onMouseDown: (event) => event.preventDefault(),
5827
+ onClick: () => setProvider(provider),
5828
+ className: cn(
5829
+ "inline-flex h-6 shrink-0 items-center justify-center rounded-full px-2.5 text-xs font-medium whitespace-nowrap transition-colors",
5830
+ "focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none",
5831
+ selected ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-muted hover:text-foreground"
5832
+ ),
5833
+ children: provider === null ? anyLabel : providerLabels.get(provider) ?? provider
5834
+ },
5835
+ provider ?? "all-providers"
5836
+ );
5837
+ })
5838
+ }
5839
+ ),
5840
+ /* @__PURE__ */ jsx(
5841
+ "div",
5842
+ {
5843
+ ref: listRef,
5844
+ id: menuId,
5845
+ role: "listbox",
5846
+ "aria-label": ariaLabel,
5847
+ "aria-activedescendant": activeOptionId,
5848
+ tabIndex: -1,
5849
+ onKeyDown: handleMenuKeyDown,
5850
+ className: "min-h-0 flex-1 overflow-y-auto p-1",
5851
+ 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(
5852
+ "div",
5853
+ {
5854
+ role: "group",
5855
+ "aria-label": providerLabels.get(group.provider) ?? group.provider,
5856
+ children: [
5857
+ /* @__PURE__ */ jsx("div", { className: "text-muted-foreground px-3 py-1.5 text-xs font-semibold uppercase", children: providerLabels.get(group.provider) ?? group.provider }),
5858
+ group.options.map((renderedModel) => {
5859
+ const { index, key, option: model } = renderedModel;
5860
+ const selected = optionKey(model) === selectedKey;
5861
+ const highlighted = index === highlightedIndex;
5862
+ return /* @__PURE__ */ jsxs(
5863
+ "button",
5864
+ {
5865
+ id: getOptionId(index),
5866
+ type: "button",
5867
+ role: "option",
5868
+ "aria-selected": selected,
5869
+ onMouseDown: (event) => event.preventDefault(),
5870
+ onClick: () => selectModel(model),
5871
+ onMouseEnter: () => setHighlightedIndex(index),
5872
+ className: cn(
5873
+ "flex w-full items-center gap-2 rounded-md px-3 py-2 text-start text-sm",
5874
+ "focus-visible:ring-ring transition-colors focus-visible:ring-2 focus-visible:outline-none",
5875
+ highlighted && "bg-muted",
5876
+ selected && "bg-primary/10 text-primary"
5877
+ ),
5878
+ children: [
5879
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate", children: model.label ?? model.model }),
5880
+ selected && /* @__PURE__ */ jsx(
5881
+ Check,
5882
+ {
5883
+ "aria-hidden": "true",
5884
+ className: "text-primary h-4 w-4 shrink-0"
5885
+ }
5886
+ )
5887
+ ]
5888
+ },
5889
+ key
5890
+ );
5891
+ })
5892
+ ]
5893
+ },
5894
+ group.provider
5895
+ ))
5896
+ }
5897
+ )
5898
+ ]
5899
+ }
5900
+ ),
5901
+ document.body
5902
+ )
5903
+ ] });
5904
+ }
5905
+ ComposerModelSelector.displayName = "ComposerModelSelector";
5581
5906
  function normalizeString(value) {
5582
5907
  return value.trim().replace(/\s+/g, " ").toLowerCase();
5583
5908
  }
@@ -42772,6 +43097,6 @@ function WebsiteInputGroup({
42772
43097
  }
42773
43098
  WebsiteInputGroup.displayName = "WebsiteInputGroup";
42774
43099
 
42775
- export { AIChat, AIChatModal, AIChatTrigger, AIReconciliationPanel, AccessDeniedPage, ActionButton2 as ActionButton, ActionButtonsBar, ActiveFilters, AddContactModal, AddServiceCard, AdditionalFields, Address, AddressCard, AddressCompact, AddressDisplay, AddressForm, AddressInline, AppHeader, AppHeaderActions, AppHeaderBrand, AppHeaderDivider, AppHeaderIconButton, AppHeaderSearch, AppHeaderSection, AppHeaderTitle, AppHeaderUserMenu, Assessment, AuthButtons, AuthDialog, BookAppointmentButton, BookingDialog, BusinessHours, BusinessHoursEditor, CHANGE_TYPE_LABELS, CONCERN_STATUS_LABELS, CSVColumnMapper, CSVFileUpload, CardSkeleton, CheckrIntegration, ClaimListingButton, ClaimProviderForm, CodingChips, CommandPalette, CommandPaletteProvider, CommandPaletteTrigger, CompactCookieBanner, CompactFilterBar, CompactHeader, CompactHours, CompactProviderHeader, ConditionEditor, ConnectionStatusBadge, ConnectionStatusBar, ConnectionStatusOverlay, ConsentSwitch, CookieConsentBanner, CopyrightText, CountBadge, CreateInvoiceModal, CreateReferralModal, DEFAULT_ERROR_CONFIGS, DEFAULT_LANGUAGES, DEFAULT_RADIUS_OPTIONS, DEFAULT_SOCIAL_PROVIDERS, DOTBadge, DashboardWidget, DashboardWidgetActions, DashboardWidgetDataCards, DashboardWidgetInfo, DashboardWidgetTable, DateRangeFilter, DateRangePicker, DialogOverlay, DisclaimerText, DocumentDetectionOverlay, DocumentScanner, DropZone, DropzoneOverlay, EditUserRoleModal, EmployeeForm, EmployeeProfileCard, EmployerContactCard, EmployerList, EmployerPricingCard, EmployerServiceModal, EmployerView, ErrorPage, FileManager, FilePreview, FloatingAIChat, FloatingInput, FooterLinkSection, SocialMediaLinks2 as FooterSocialLinks, HRISProviderSelector, HandsFreeChat, HealthSurveillance, HelpSupportPanel, HeroSearchBar, HeyOzwell, HeyOzwellToggle, HoursSummary, ImagingOrderEditor, InlineBookingForm, InventoryManager, InviteUserModal, InvoiceList, InvoicePaymentPage, InvoiceView, LabOrderEditor, LanguageSelector, LanguageSelectorInline, LanguageSelectorNative, LegalLinks, LoadingBar, LoadingDots, LoadingOverlay, LoadingPage, LoadingSkeleton, MODEL_MANIFEST, MaintenancePage, MobileBackButton, MobileMenuButton, MobileMenuPanel, ModelInfoList, NavLinks, NewsletterForm, NotFoundPage, NotificationCenter, ORDER_TYPE_META, ORDER_TYPE_SEARCH_DOMAINS, OfflinePage, OnboardingCompletion, OnboardingStepQuestion, OnboardingWizard, OpenStatusBadge, OrderCard, OrderConfirmation, OrderConfirmationWizard, OrderDetailSidebar, OrderEditor, OrderList, OrderLookupForm, OrderSidebar, OrderSidebarTabs, OzwellSettingsMenu, PageHeader, PatientHeader, PaymentHistoryTable, PaymentMethodBank, PaymentMethodCard, PaymentMethodList, PendingClaimsTable, PermissionsEditor, PillSelect, PresentingProblems, ProblemList, ProcedureOrderEditor, ProductVersion, ProductVersionBadge, Breadcrumb2 as ProviderBreadcrumb, ProviderCard, ProviderCardGrid, ProviderCardSkeleton, ProviderDetailHeader, ProviderDetailHeaderSkeleton, ProviderLogo2 as ProviderLogo, ProviderOverview, ProviderSearchBar, ProviderSearchFilters, ProviderSelector, ProviderSettings, SocialMediaLinks as ProviderSocialLinks, ProviderUsersTable, QuickBookCard, QuickLinksCard, RELEVANCE_LABELS, RecurringServiceAddCard, RecurringServiceCard, RecurringServiceGrid, RecurringServiceSetupModal, ReferralEditor, RejectionModal, ReportDashboard, ReportDatePicker, ReportLink, ReportTimeRange, ResultsEntryCard, ResultsEntryForm, ResultsEntryModal, SSOConfigForm, ScheduleCalendar, SearchResultsMessage, SelectedServicesBadges, ServerErrorPage, ServiceAccordion, ServiceBadge, ServiceBadgeGroup, ServiceCard, ServiceCategoryBadge, ServiceGeneralSettings, ServiceGrid, ServiceLink, ServiceList, ServiceMultiSelect, ServicePicker, ServicePricingManager, ServiceSelect, ServiceShippingSettings, ServiceTagCloud, ServiceTagCloudBadges, SetupServiceModal, Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMobileToggle, SidebarNav, SidebarNavGroup, SidebarNavItem, SidebarProvider, SidebarSearch, SidebarToggle, SimpleFooter, SiteFooter, SiteHeader, SiteLogo, StepIndicator, StripeBadge, StripeSecureBadge, SuggestedActions, TableOfContents, TimelineEventList, TimelineProgress, Toast, ToastContainer, ToastProvider, UncertaintyBadge, UpdateAvailableOverlay, UserMenu, VerifiedBadge2 as VerifiedBadge, VisitScribe, VoiceManager, VoiceSetup, WEBSITE_TYPES, WebChartReportViewer, WebcamModal, WebsiteInput, WebsiteInputGroup, askOzwell, askOzwellStream, attributeSegments, calculateDateRange, centroid, chime, clearVoiceprints, clearWhatPrints, clusterEmbeddings, concernGroupKey, concernHistoryContent, cosine, countBadgeVariants, countChipVariants, create24HourSchedule, createDefaultSchedule, createWeekdaySchedule, currentAssertion, decodeTo16kMono, defaultOrderTabs, defaultReconciliationIsEqual, endsWithDone, formatAddressLines, formatAddressSingleLine, formatCityState, formatCityStateZip, generateId, getDefaultPresets, getDictationLoad, getExtendedPresets, getGoogleMapsSearchUrl, getGoogleMapsUrl, getOzwellConfig, getVoiceprints, getWakeWarm, inferSpeakerRoles, isConditionCodetype, isOzwellConfigured, isValidUrl, isWhisperLoaded, labelClusters, loadWhatPrints, medicationToOrder, mergeTurns, openRollingRecorder, orderToMedication, orderTypeForCodetype, panelVariants as reconciliationPanelVariants, saveWhatPrints, setVoiceprints, stripStopPhrase, subscribeDictationLoad, subscribeWakeWarm, toOzwellMessages, transcribeBlob, transcribeGate, transcribeSamples, transcribeSegments, transcribeServer, trimTrailingStopPhrase, useCamera, useCommandPalette, useConnectionStatus, useCookieConsent, useDiarization, useDocumentDetection, useDropzone, useFileUpload, useHeyOzwell, useSidebar, useSpeakerVerify, useToast, useVisitScribe, useVoiceSetup, useWakeWord, warmStopGate, warmWakeModels, warmWhisper, widgetVariants };
43100
+ export { AIChat, AIChatModal, AIChatTrigger, AIReconciliationPanel, AccessDeniedPage, ActionButton2 as ActionButton, ActionButtonsBar, ActiveFilters, AddContactModal, AddServiceCard, AdditionalFields, Address, AddressCard, AddressCompact, AddressDisplay, AddressForm, AddressInline, AppHeader, AppHeaderActions, AppHeaderBrand, AppHeaderDivider, AppHeaderIconButton, AppHeaderSearch, AppHeaderSection, AppHeaderTitle, AppHeaderUserMenu, Assessment, AuthButtons, AuthDialog, BookAppointmentButton, BookingDialog, BusinessHours, BusinessHoursEditor, CHANGE_TYPE_LABELS, CONCERN_STATUS_LABELS, CSVColumnMapper, CSVFileUpload, CardSkeleton, CheckrIntegration, ClaimListingButton, ClaimProviderForm, CodingChips, CommandPalette, CommandPaletteProvider, CommandPaletteTrigger, CompactCookieBanner, CompactFilterBar, CompactHeader, CompactHours, CompactProviderHeader, ComposerModelSelector, ConditionEditor, ConnectionStatusBadge, ConnectionStatusBar, ConnectionStatusOverlay, ConsentSwitch, CookieConsentBanner, CopyrightText, CountBadge, CreateInvoiceModal, CreateReferralModal, DEFAULT_ERROR_CONFIGS, DEFAULT_LANGUAGES, DEFAULT_RADIUS_OPTIONS, DEFAULT_SOCIAL_PROVIDERS, DOTBadge, DashboardWidget, DashboardWidgetActions, DashboardWidgetDataCards, DashboardWidgetInfo, DashboardWidgetTable, DateRangeFilter, DateRangePicker, DialogOverlay, DisclaimerText, DocumentDetectionOverlay, DocumentScanner, DropZone, DropzoneOverlay, EditUserRoleModal, EmployeeForm, EmployeeProfileCard, EmployerContactCard, EmployerList, EmployerPricingCard, EmployerServiceModal, EmployerView, ErrorPage, FileManager, FilePreview, FloatingAIChat, FloatingInput, FooterLinkSection, SocialMediaLinks2 as FooterSocialLinks, HRISProviderSelector, HandsFreeChat, HealthSurveillance, HelpSupportPanel, HeroSearchBar, HeyOzwell, HeyOzwellToggle, HoursSummary, ImagingOrderEditor, InlineBookingForm, InventoryManager, InviteUserModal, InvoiceList, InvoicePaymentPage, InvoiceView, LabOrderEditor, LanguageSelector, LanguageSelectorInline, LanguageSelectorNative, LegalLinks, LoadingBar, LoadingDots, LoadingOverlay, LoadingPage, LoadingSkeleton, MODEL_MANIFEST, MaintenancePage, MobileBackButton, MobileMenuButton, MobileMenuPanel, ModelInfoList, NavLinks, NewsletterForm, NotFoundPage, NotificationCenter, ORDER_TYPE_META, ORDER_TYPE_SEARCH_DOMAINS, OfflinePage, OnboardingCompletion, OnboardingStepQuestion, OnboardingWizard, OpenStatusBadge, OrderCard, OrderConfirmation, OrderConfirmationWizard, OrderDetailSidebar, OrderEditor, OrderList, OrderLookupForm, OrderSidebar, OrderSidebarTabs, OzwellSettingsMenu, PageHeader, PatientHeader, PaymentHistoryTable, PaymentMethodBank, PaymentMethodCard, PaymentMethodList, PendingClaimsTable, PermissionsEditor, PillSelect, PresentingProblems, ProblemList, ProcedureOrderEditor, ProductVersion, ProductVersionBadge, Breadcrumb2 as ProviderBreadcrumb, ProviderCard, ProviderCardGrid, ProviderCardSkeleton, ProviderDetailHeader, ProviderDetailHeaderSkeleton, ProviderLogo2 as ProviderLogo, ProviderOverview, ProviderSearchBar, ProviderSearchFilters, ProviderSelector, ProviderSettings, SocialMediaLinks as ProviderSocialLinks, ProviderUsersTable, QuickBookCard, QuickLinksCard, RELEVANCE_LABELS, RecurringServiceAddCard, RecurringServiceCard, RecurringServiceGrid, RecurringServiceSetupModal, ReferralEditor, RejectionModal, ReportDashboard, ReportDatePicker, ReportLink, ReportTimeRange, ResultsEntryCard, ResultsEntryForm, ResultsEntryModal, SSOConfigForm, ScheduleCalendar, SearchResultsMessage, SelectedServicesBadges, ServerErrorPage, ServiceAccordion, ServiceBadge, ServiceBadgeGroup, ServiceCard, ServiceCategoryBadge, ServiceGeneralSettings, ServiceGrid, ServiceLink, ServiceList, ServiceMultiSelect, ServicePicker, ServicePricingManager, ServiceSelect, ServiceShippingSettings, ServiceTagCloud, ServiceTagCloudBadges, SetupServiceModal, Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarMobileToggle, SidebarNav, SidebarNavGroup, SidebarNavItem, SidebarProvider, SidebarSearch, SidebarToggle, SimpleFooter, SiteFooter, SiteHeader, SiteLogo, StepIndicator, StripeBadge, StripeSecureBadge, SuggestedActions, TableOfContents, TimelineEventList, TimelineProgress, Toast, ToastContainer, ToastProvider, UncertaintyBadge, UpdateAvailableOverlay, UserMenu, VerifiedBadge2 as VerifiedBadge, VisitScribe, VoiceManager, VoiceSetup, WEBSITE_TYPES, WebChartReportViewer, WebcamModal, WebsiteInput, WebsiteInputGroup, askOzwell, askOzwellStream, attributeSegments, calculateDateRange, centroid, chime, clearVoiceprints, clearWhatPrints, clusterEmbeddings, concernGroupKey, concernHistoryContent, cosine, countBadgeVariants, countChipVariants, create24HourSchedule, createDefaultSchedule, createWeekdaySchedule, currentAssertion, decodeTo16kMono, defaultOrderTabs, defaultReconciliationIsEqual, endsWithDone, formatAddressLines, formatAddressSingleLine, formatCityState, formatCityStateZip, generateId, getDefaultPresets, getDictationLoad, getExtendedPresets, getGoogleMapsSearchUrl, getGoogleMapsUrl, getOzwellConfig, getVoiceprints, getWakeWarm, inferSpeakerRoles, isConditionCodetype, isOzwellConfigured, isValidUrl, isWhisperLoaded, labelClusters, loadWhatPrints, medicationToOrder, mergeTurns, openRollingRecorder, orderToMedication, orderTypeForCodetype, panelVariants as reconciliationPanelVariants, saveWhatPrints, setVoiceprints, stripStopPhrase, subscribeDictationLoad, subscribeWakeWarm, toOzwellMessages, transcribeBlob, transcribeGate, transcribeSamples, transcribeSegments, transcribeServer, trimTrailingStopPhrase, useCamera, useCommandPalette, useConnectionStatus, useCookieConsent, useDiarization, useDocumentDetection, useDropzone, useFileUpload, useHeyOzwell, useSidebar, useSpeakerVerify, useToast, useVisitScribe, useVoiceSetup, useWakeWord, warmStopGate, warmWakeModels, warmWhisper, widgetVariants };
42776
43101
  //# sourceMappingURL=index.js.map
42777
43102
  //# sourceMappingURL=index.js.map