@mieweb/ui 0.11.0-dev.32 → 0.11.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 (108) hide show
  1. package/dist/{chunk-PJN4HM2X.cjs → chunk-3O3Q3DX7.cjs} +21 -21
  2. package/dist/{chunk-PJN4HM2X.cjs.map → chunk-3O3Q3DX7.cjs.map} +1 -1
  3. package/dist/{chunk-M42FTWY2.cjs → chunk-46RYJYN2.cjs} +6 -6
  4. package/dist/{chunk-M42FTWY2.cjs.map → chunk-46RYJYN2.cjs.map} +1 -1
  5. package/dist/{chunk-JMAZ2GKT.js → chunk-4GSFVD5V.js} +3 -3
  6. package/dist/{chunk-JMAZ2GKT.js.map → chunk-4GSFVD5V.js.map} +1 -1
  7. package/dist/{chunk-2R3ILG4Y.cjs → chunk-4M2KE4O5.cjs} +7 -7
  8. package/dist/{chunk-2R3ILG4Y.cjs.map → chunk-4M2KE4O5.cjs.map} +1 -1
  9. package/dist/{chunk-L52HKEUD.js → chunk-4SUEBKTY.js} +3 -3
  10. package/dist/{chunk-L52HKEUD.js.map → chunk-4SUEBKTY.js.map} +1 -1
  11. package/dist/{chunk-SCYLVQWA.cjs → chunk-6O6EYKOG.cjs} +130 -874
  12. package/dist/chunk-6O6EYKOG.cjs.map +1 -0
  13. package/dist/{chunk-INMDLVUB.cjs → chunk-6UYMO3PF.cjs} +7 -2
  14. package/dist/chunk-6UYMO3PF.cjs.map +1 -0
  15. package/dist/{chunk-2Z2GFDRS.cjs → chunk-DXNVQQYN.cjs} +4 -4
  16. package/dist/{chunk-2Z2GFDRS.cjs.map → chunk-DXNVQQYN.cjs.map} +1 -1
  17. package/dist/{chunk-JN2CL7MK.js → chunk-EWPNM6OO.js} +25 -5
  18. package/dist/chunk-EWPNM6OO.js.map +1 -0
  19. package/dist/{chunk-JQAGNAY2.js → chunk-EX7Q5545.js} +4 -4
  20. package/dist/{chunk-JQAGNAY2.js.map → chunk-EX7Q5545.js.map} +1 -1
  21. package/dist/{chunk-YG7BR76Y.js → chunk-GMNF4E7B.js} +3 -42
  22. package/dist/chunk-GMNF4E7B.js.map +1 -0
  23. package/dist/chunk-HTZ27DGZ.js +46 -0
  24. package/dist/chunk-HTZ27DGZ.js.map +1 -0
  25. package/dist/{chunk-SNAMNKFH.js → chunk-JEXEFWEM.js} +7 -2
  26. package/dist/chunk-JEXEFWEM.js.map +1 -0
  27. package/dist/{chunk-KIVEYQGA.cjs → chunk-MSX2P5JE.cjs} +2 -48
  28. package/dist/chunk-MSX2P5JE.cjs.map +1 -0
  29. package/dist/{chunk-VV2U36T6.cjs → chunk-MZR634HI.cjs} +9 -9
  30. package/dist/{chunk-VV2U36T6.cjs.map → chunk-MZR634HI.cjs.map} +1 -1
  31. package/dist/{chunk-JCO62XMU.cjs → chunk-NCPDUJKJ.cjs} +43 -26
  32. package/dist/chunk-NCPDUJKJ.cjs.map +1 -0
  33. package/dist/{chunk-DG3CXR24.js → chunk-NW6D6AFL.js} +80 -819
  34. package/dist/chunk-NW6D6AFL.js.map +1 -0
  35. package/dist/{chunk-BP4LXRC6.cjs → chunk-PGJLW2NO.cjs} +7 -7
  36. package/dist/{chunk-BP4LXRC6.cjs.map → chunk-PGJLW2NO.cjs.map} +1 -1
  37. package/dist/chunk-PHYQSCP6.cjs +54 -0
  38. package/dist/chunk-PHYQSCP6.cjs.map +1 -0
  39. package/dist/{chunk-ZFJJMDV3.js → chunk-RTADGBBN.js} +3 -3
  40. package/dist/{chunk-ZFJJMDV3.js.map → chunk-RTADGBBN.js.map} +1 -1
  41. package/dist/{chunk-FQUSSPXX.cjs → chunk-S2CJ57BX.cjs} +25 -5
  42. package/dist/chunk-S2CJ57BX.cjs.map +1 -0
  43. package/dist/{chunk-KSQQBFDQ.js → chunk-SPGP252Q.js} +43 -26
  44. package/dist/chunk-SPGP252Q.js.map +1 -0
  45. package/dist/{chunk-67SD6VPF.cjs → chunk-SVC7NPQ6.cjs} +6 -6
  46. package/dist/{chunk-67SD6VPF.cjs.map → chunk-SVC7NPQ6.cjs.map} +1 -1
  47. package/dist/{chunk-TWQSMUE6.js → chunk-VMEVLBI3.js} +46 -38
  48. package/dist/chunk-VMEVLBI3.js.map +1 -0
  49. package/dist/{chunk-QNJEDBIN.js → chunk-X5HLVACK.js} +4 -4
  50. package/dist/{chunk-QNJEDBIN.js.map → chunk-X5HLVACK.js.map} +1 -1
  51. package/dist/{chunk-LC3JL2HB.cjs → chunk-XEHD2HA5.cjs} +46 -38
  52. package/dist/chunk-XEHD2HA5.cjs.map +1 -0
  53. package/dist/{chunk-R3MJKY63.js → chunk-YGSPIDE4.js} +3 -3
  54. package/dist/{chunk-R3MJKY63.js.map → chunk-YGSPIDE4.js.map} +1 -1
  55. package/dist/{chunk-7LKTIZLR.js → chunk-YR45POH2.js} +3 -3
  56. package/dist/{chunk-7LKTIZLR.js.map → chunk-YR45POH2.js.map} +1 -1
  57. package/dist/components/AlertDialog/index.cjs +6 -6
  58. package/dist/components/AlertDialog/index.js +2 -2
  59. package/dist/components/EmailEditor/index.cjs +14 -12
  60. package/dist/components/EmailEditor/index.js +5 -3
  61. package/dist/components/KeyboardShortcutsOverlay/index.cjs +4 -4
  62. package/dist/components/KeyboardShortcutsOverlay/index.js +2 -2
  63. package/dist/components/MediaEditor/index.cjs +7 -7
  64. package/dist/components/MediaEditor/index.js +2 -2
  65. package/dist/components/MediaFeed/index.cjs +3 -3
  66. package/dist/components/MediaFeed/index.js +2 -2
  67. package/dist/components/Modal/index.cjs +9 -9
  68. package/dist/components/Modal/index.js +1 -1
  69. package/dist/components/RichTextEditor/index.cjs +6 -4
  70. package/dist/components/RichTextEditor/index.js +3 -1
  71. package/dist/components/SuperChat/index.cjs +3 -3
  72. package/dist/components/SuperChat/index.js +2 -2
  73. package/dist/components/Textarea/index.cjs +7 -5
  74. package/dist/components/Textarea/index.js +4 -2
  75. package/dist/esheet.cjs +1119 -1393
  76. package/dist/esheet.cjs.map +1 -1
  77. package/dist/esheet.d.cts +211 -4
  78. package/dist/esheet.d.ts +211 -4
  79. package/dist/esheet.js +946 -1239
  80. package/dist/esheet.js.map +1 -1
  81. package/dist/hooks/index.cjs +41 -40
  82. package/dist/hooks/index.js +2 -1
  83. package/dist/index.cjs +1058 -285
  84. package/dist/index.cjs.map +1 -1
  85. package/dist/index.d.cts +6 -2
  86. package/dist/index.d.ts +6 -2
  87. package/dist/index.js +809 -20
  88. package/dist/index.js.map +1 -1
  89. package/dist/{model-NPW2JMHZ.cjs → model-EFXX5JZN.cjs} +18 -18
  90. package/dist/{model-NPW2JMHZ.cjs.map → model-EFXX5JZN.cjs.map} +1 -1
  91. package/dist/{model-SG5H3TCJ.js → model-TAARSYDY.js} +4 -4
  92. package/dist/{model-SG5H3TCJ.js.map → model-TAARSYDY.js.map} +1 -1
  93. package/dist/styles.css +1 -1
  94. package/dist/tailwind-preset.cjs +4 -4
  95. package/dist/tailwind-preset.js +1 -1
  96. package/package.json +1 -1
  97. package/dist/chunk-DG3CXR24.js.map +0 -1
  98. package/dist/chunk-FQUSSPXX.cjs.map +0 -1
  99. package/dist/chunk-INMDLVUB.cjs.map +0 -1
  100. package/dist/chunk-JCO62XMU.cjs.map +0 -1
  101. package/dist/chunk-JN2CL7MK.js.map +0 -1
  102. package/dist/chunk-KIVEYQGA.cjs.map +0 -1
  103. package/dist/chunk-KSQQBFDQ.js.map +0 -1
  104. package/dist/chunk-LC3JL2HB.cjs.map +0 -1
  105. package/dist/chunk-SCYLVQWA.cjs.map +0 -1
  106. package/dist/chunk-SNAMNKFH.js.map +0 -1
  107. package/dist/chunk-TWQSMUE6.js.map +0 -1
  108. package/dist/chunk-YG7BR76Y.js.map +0 -1
package/dist/index.js CHANGED
@@ -66,10 +66,10 @@ export { ReadingProgressBar } from './chunk-WKSUL2ZN.js';
66
66
  export { DictationButton, defaultDictationLabels, useDictation } from './chunk-MZA2LDS4.js';
67
67
  import { RecordButton } from './chunk-MQOYDQTF.js';
68
68
  export { RecordButton, formatDuration, recordButtonVariants } from './chunk-MQOYDQTF.js';
69
- export { FillerWordsModal, MediaEditor, SilenceSettingsModal, SpeedMarkerMenu, WordEditorModal } from './chunk-R3MJKY63.js';
69
+ export { FillerWordsModal, MediaEditor, SilenceSettingsModal, SpeedMarkerMenu, WordEditorModal } from './chunk-YGSPIDE4.js';
70
70
  import { Slider } from './chunk-V5VPECJI.js';
71
71
  export { Slider, sliderRangeVariants, sliderThumbVariants, sliderTrackVariants } from './chunk-V5VPECJI.js';
72
- export { MediaFeed } from './chunk-ZFJJMDV3.js';
72
+ export { MediaFeed } from './chunk-RTADGBBN.js';
73
73
  import './chunk-RISZWWEQ.js';
74
74
  export { MediaPlayer, inferMediaKind, mediaPlayerVariants } from './chunk-R5P7NAJQ.js';
75
75
  import { normalizePath, MegaMenuBar } from './chunk-GLRKXJCR.js';
@@ -80,7 +80,7 @@ export { Pagination, SimplePagination, paginationButtonVariants } from './chunk-
80
80
  export { FreshnessBadge, FreshnessDot, daysSince, freshnessLevel } from './chunk-HQ3XPCHG.js';
81
81
  export { GanttView, defaultGanttLabels } from './chunk-Y4QNLW7W.js';
82
82
  export { GlossaryTooltip } from './chunk-SRMTRD7F.js';
83
- export { Kbd, KeyboardShortcutsOverlay } from './chunk-JMAZ2GKT.js';
83
+ export { Kbd, KeyboardShortcutsOverlay } from './chunk-4GSFVD5V.js';
84
84
  export { ListView, itemVariants as listViewItemVariants } from './chunk-CLNTWFEB.js';
85
85
  export { CodeBlock, MarkdownRenderer, highlightCode, useMarkdown } from './chunk-YSIFPHLX.js';
86
86
  export { SurveyBlock } from './chunk-OYLZ5PF2.js';
@@ -93,7 +93,7 @@ import { CountryDropdownBase } from './chunk-OTIKWEFZ.js';
93
93
  export { CountryCodeDropdown, formatE164, validatePhoneNumber } from './chunk-OTIKWEFZ.js';
94
94
  export { CustomizableDashboard, DashboardCustomizePanel, consolidateColumns, mergeColumnOrder, moveAcrossColumns, reorderOnDrop, requiredColumns } from './chunk-OWYWRBED.js';
95
95
  export { Sheet, SheetBody, SheetClose, SheetDescription, SheetFooter, SheetHeader, SheetTitle, sheetContentVariants, sheetOverlayVariants } from './chunk-LMBXJZLG.js';
96
- export { EMAIL_BLOCK_TYPES, EmailEditor, createDefaultDesignSettings, createEmailBlock, createEmailHtmlSanitizer, createEmptyEmailContentTree, defaultEmailEditorLabels, generateEmailBlockId, renderEmailMjml } from './chunk-JQAGNAY2.js';
96
+ export { EMAIL_BLOCK_TYPES, EmailEditor, createDefaultDesignSettings, createEmailBlock, createEmailHtmlSanitizer, createEmptyEmailContentTree, defaultEmailEditorLabels, generateEmailBlockId, renderEmailMjml } from './chunk-EX7Q5545.js';
97
97
  import './chunk-XBAAHOCP.js';
98
98
  import { Tabs, TabsList, TabsTrigger, TabsContent } from './chunk-ME7EVT6F.js';
99
99
  export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants, tabsTriggerVariants } from './chunk-ME7EVT6F.js';
@@ -110,8 +110,8 @@ export { CollabStatus, defaultCollabStatusLabels, useYjsCollabStatus } from './c
110
110
  export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './chunk-VSRO4PAI.js';
111
111
  import { Alert, AlertTitle, AlertDescription } from './chunk-3JWAABYI.js';
112
112
  export { Alert, AlertDescription, AlertTitle, alertVariants } from './chunk-3JWAABYI.js';
113
- import { AlertDialog } from './chunk-7LKTIZLR.js';
114
- export { AlertDialog, ConfirmDialogProvider, defaultAlertDialogLabels, useConfirm } from './chunk-7LKTIZLR.js';
113
+ import { AlertDialog } from './chunk-YR45POH2.js';
114
+ export { AlertDialog, ConfirmDialogProvider, defaultAlertDialogLabels, useConfirm } from './chunk-YR45POH2.js';
115
115
  export { AudioPlayer, ProgressBar, audioPlayerVariants, formatTime as formatAudioTime, playButtonVariants } from './chunk-C4GEPUE7.js';
116
116
  export { AudioRecorder, audioRecorderVariants, controlButtonVariants, formatTime, waveformContainerVariants } from './chunk-2DW4PUJD.js';
117
117
  export { Autocomplete } from './chunk-UBOVDAD7.js';
@@ -119,8 +119,8 @@ export { BoardView, cardVariants as boardViewCardVariants, defaultBoardLabels }
119
119
  export { BenchmarkTableSection, ComparisonSection, CtaSection, FaqSection, FeatureGridSection, HeroSection, LandingPage, LeadFormSection, LinkGroupsSection, LogoCloudSection, MetricListSection, PdfEmbedSection, PricingSection, ProcessStepsSection, RankedListSection, ReportByline, ReportLegend, ReportMethodology, ResourceCardsSection, SplitContentSection, StatsSection, TestimonialSection, TileCartogramSection, VideoSection, defaultLeadFormFields, landingPresets, quartileBuckets, usStateTiles, validateLandingPage } from './chunk-566FIEPE.js';
120
120
  import './chunk-IQ4KQJAO.js';
121
121
  export { MetricStatusBadge, SectionHeading, SectionShell, TemplateIcon, defaultMetricStatusLabels, templateIcons } from './chunk-JNSSA4YN.js';
122
- import { useCommandK, useIsMobile, useMediaQuery } from './chunk-YG7BR76Y.js';
123
- export { KEYBOARD_INSET_VAR, KEYBOARD_OPEN_ATTRIBUTE, KEYBOARD_SOURCE_ATTRIBUTE, VISUAL_VIEWPORT_HEIGHT_VAR, VISUAL_VIEWPORT_OFFSET_TOP_VAR, localStorageOrderAdapter, mergeOrder, useCommandK, useIsDesktop, useIsLargeDesktop, useIsMobile, useIsMobileOrTablet, useIsSmallTablet, useIsTablet, useKeyboardInset, useKeyboardShortcut, useMediaQuery, useOrderPersistence } from './chunk-YG7BR76Y.js';
122
+ import { useCommandK } from './chunk-GMNF4E7B.js';
123
+ export { KEYBOARD_INSET_VAR, KEYBOARD_OPEN_ATTRIBUTE, KEYBOARD_SOURCE_ATTRIBUTE, VISUAL_VIEWPORT_HEIGHT_VAR, VISUAL_VIEWPORT_OFFSET_TOP_VAR, localStorageOrderAdapter, mergeOrder, useCommandK, useKeyboardInset, useKeyboardShortcut, useOrderPersistence } from './chunk-GMNF4E7B.js';
124
124
  export { useYouTubeHoverPreview } from './chunk-POWS35OT.js';
125
125
  export { useTheme } from './chunk-KJZNEVYM.js';
126
126
  import { useStickToBottom, useStreamEndedBelowFold } from './chunk-BM35CACB.js';
@@ -135,7 +135,7 @@ export { useMediaTransport } from './chunk-TUYWCUKH.js';
135
135
  export { useUrlTab } from './chunk-CVNPNZMX.js';
136
136
  import './chunk-7XUN3OQT.js';
137
137
  export { formatPhoneNumber, isPhoneNumberEmpty, isValidPhoneNumber, unformatPhoneNumber } from './chunk-ZVPJ2MH6.js';
138
- export { miewebUIPreset, miewebUISafelist } from './chunk-SNAMNKFH.js';
138
+ export { miewebUIPreset, miewebUISafelist } from './chunk-JEXEFWEM.js';
139
139
  export { Accordion } from './chunk-BHKGVFTY.js';
140
140
  import './chunk-H2Y7HZV5.js';
141
141
  export { AvatarGroup, defaultAvatarGroupLabels } from './chunk-DVDT7TX7.js';
@@ -146,10 +146,10 @@ import { Spinner, SpinnerWithLabel } from './chunk-UA7E7PDS.js';
146
146
  export { FullPageSpinner, Spinner, SpinnerWithLabel, spinnerVariants } from './chunk-UA7E7PDS.js';
147
147
  import { evaluateDue, completedKeys, normalizeOrders } from './chunk-Y5KEFV5O.js';
148
148
  export { buildChartOrderRows, buildEncounterOrderRows, dueForOrder, evaluateDue, evaluateProgram, isApplicable } from './chunk-Y5KEFV5O.js';
149
- import { parseSig, labelToMedicationFields, MedicationEditor, useCodeLookupConfig } from './chunk-DG3CXR24.js';
150
- export { ALLERGY_TYPE_LABELS, AllergyList, AllergyManager, Assessment, CodeLookupProvider, ConditionEditor, DateRangeFilter, DateRangePicker, MEDICATION_STATUS_LABELS, MedicationEditor, MedicationList, MedicationReconciliation, ORDER_TYPE_META, ORDER_TYPE_SEARCH_DOMAINS, calculateDateRange, doseFormToQuantityUnit, getDefaultPresets, getExtendedPresets, isConditionCodetype, labelToMedicationFields, lookupToMedicationFields, normalizeConditionCodingSystem, orderTypeForCodetype, parseMedicationLabel, parseSig, useCodeLookupConfig } from './chunk-DG3CXR24.js';
151
- import { currentAssertion, CodingChips, toolbarKeyNav } from './chunk-KSQQBFDQ.js';
152
- export { CHANGE_TYPE_LABELS, CONCERN_STATUS_LABELS, CodingChips, ProblemList, RowActionToolbar, RowIconButton, UncertaintyBadge, concernGroupKey, concernHistoryContent, currentAssertion, toolbarKeyNav } from './chunk-KSQQBFDQ.js';
149
+ import { parseSig, labelToMedicationFields, MedicationEditor, useCodeLookupConfig } from './chunk-NW6D6AFL.js';
150
+ export { ALLERGY_TYPE_LABELS, AllergyList, AllergyManager, Assessment, CodeLookupProvider, ConditionEditor, MEDICATION_STATUS_LABELS, MedicationEditor, MedicationList, MedicationReconciliation, ORDER_TYPE_META, ORDER_TYPE_SEARCH_DOMAINS, doseFormToQuantityUnit, isConditionCodetype, labelToMedicationFields, lookupToMedicationFields, normalizeConditionCodingSystem, orderTypeForCodetype, parseMedicationLabel, parseSig, useCodeLookupConfig } from './chunk-NW6D6AFL.js';
151
+ import { currentAssertion, CodingChips, toolbarKeyNav } from './chunk-SPGP252Q.js';
152
+ export { CHANGE_TYPE_LABELS, CONCERN_STATUS_LABELS, CodingChips, ProblemList, RowActionToolbar, RowIconButton, UncertaintyBadge, concernGroupKey, concernHistoryContent, currentAssertion, toolbarKeyNav } from './chunk-SPGP252Q.js';
153
153
  import { Tooltip } from './chunk-YFWDS6MX.js';
154
154
  export { Tooltip } from './chunk-YFWDS6MX.js';
155
155
  import { ButtonGroup } from './chunk-BBLEGF5L.js';
@@ -160,9 +160,9 @@ import { Label } from './chunk-I3WGZPI6.js';
160
160
  export { Label, labelVariants } from './chunk-I3WGZPI6.js';
161
161
  import { DateInput } from './chunk-I6Y2KLTZ.js';
162
162
  export { DateInput } from './chunk-I6Y2KLTZ.js';
163
- import { Textarea } from './chunk-L52HKEUD.js';
164
- export { TextAreaRich as RichTextArea, TextAreaPlain, TextAreaRich, Textarea, htmlToPlain, plainToHtml, textareaVariants } from './chunk-L52HKEUD.js';
165
- export { MacroLibrary, RichTextEditor, convertAngleBracketsToMustache, processDictation } from './chunk-JN2CL7MK.js';
163
+ import { Textarea } from './chunk-4SUEBKTY.js';
164
+ export { TextAreaRich as RichTextArea, TextAreaPlain, TextAreaRich, Textarea, htmlToPlain, plainToHtml, textareaVariants } from './chunk-4SUEBKTY.js';
165
+ export { MacroLibrary, RichTextEditor, convertAngleBracketsToMustache, processDictation } from './chunk-EWPNM6OO.js';
166
166
  import './chunk-5YOT4DVH.js';
167
167
  export { Separator, separatorVariants } from './chunk-OQWZYKJM.js';
168
168
  import { Select } from './chunk-VCI2Y7ST.js';
@@ -174,8 +174,8 @@ import { Card, CardHeader, CardContent, CardTitle } from './chunk-QYSUYB3S.js';
174
174
  export { Card, CardActions, CardBadge, CardCollapsible, CardContent, CardDescription, CardDivider, CardFooter, CardHeader, CardMedia, CardStat, CardTitle, cardAccentVariants, cardVariants } from './chunk-QYSUYB3S.js';
175
175
  import { Checkbox } from './chunk-753Z3NXL.js';
176
176
  export { Checkbox, CheckboxGroup, checkboxVariants } from './chunk-753Z3NXL.js';
177
- import { Modal, ModalHeader, ModalTitle, ModalClose, ModalBody, ModalFooter } from './chunk-TWQSMUE6.js';
178
- export { Modal, ModalBody, ModalClose, ModalFooter, ModalHeader, ModalTitle, modalContentVariants, modalOverlayVariants } from './chunk-TWQSMUE6.js';
177
+ import { Modal, ModalHeader, ModalTitle, ModalClose, ModalBody, ModalFooter } from './chunk-VMEVLBI3.js';
178
+ export { Modal, ModalBody, ModalClose, ModalFooter, ModalHeader, ModalTitle, modalContentVariants, modalOverlayVariants } from './chunk-VMEVLBI3.js';
179
179
  import './chunk-6NZXWKUE.js';
180
180
  import { Input, inputVariants } from './chunk-3IMM2PM4.js';
181
181
  export { Input, RequiredMark, floatingGroupLabelVariants, floatingGroupVariants, floatingLabelVariants, inputVariants } from './chunk-3IMM2PM4.js';
@@ -183,6 +183,8 @@ import { useDragReorder, dragIndicatorClasses } from './chunk-YUMOM3KE.js';
183
183
  export { DEFAULT_DRAG_REORDER_LABELS, dragIndicatorClasses, moveIdBy, reorderIds, useDragReorder } from './chunk-YUMOM3KE.js';
184
184
  import { useLiveAnnouncement } from './chunk-HNXLLDPN.js';
185
185
  export { useLiveAnnouncement } from './chunk-HNXLLDPN.js';
186
+ import { useIsMobile, useMediaQuery } from './chunk-HTZ27DGZ.js';
187
+ export { useIsDesktop, useIsLargeDesktop, useIsMobile, useIsMobileOrTablet, useIsSmallTablet, useIsTablet, useMediaQuery } from './chunk-HTZ27DGZ.js';
186
188
  import { useFocusTrap } from './chunk-4SMSH4OY.js';
187
189
  export { useFocusTrap } from './chunk-4SMSH4OY.js';
188
190
  import { useEscapeKey } from './chunk-T4ME7QCT.js';
@@ -219,7 +221,7 @@ import * as React13 from 'react';
219
221
  import React13__default, { createContext, useState, useEffect, useCallback, useMemo, useContext, useRef, useId } from 'react';
220
222
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
221
223
  import { cva } from 'class-variance-authority';
222
- import { AudioWaveform, Play, Pause, FileUp, X, AlertCircle, VolumeX, Volume2, Minimize2, Maximize2, ZoomOut, ZoomIn, LocateFixed, Search, FolderUp, Upload, Edit2, Check, ChevronUp, ChevronDown as ChevronDown$1, Calendar as Calendar$1, Phone as Phone$1, Mail as Mail$1, Clock as Clock$1, MapPin, Shield, ChevronRight as ChevronRight$1, Building2, SlidersHorizontal, Trash2 as Trash2$1, Pencil as Pencil$1, Plus as Plus$1, ExternalLink as ExternalLink$1, Link, AlertTriangle as AlertTriangle$1, RefreshCw, ChevronLeft } from 'lucide-react';
224
+ import { AudioWaveform, Play, Pause, FileUp, X, AlertCircle, VolumeX, Volume2, Minimize2, Maximize2, ZoomOut, ZoomIn, LocateFixed, Search, Calendar as Calendar$1, ChevronLeft, ChevronRight as ChevronRight$1, ChevronDown as ChevronDown$1, FolderUp, Upload, Edit2, Check, ChevronUp, 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, ExternalLink as ExternalLink$1, Link, AlertTriangle as AlertTriangle$1, RefreshCw } from 'lucide-react';
223
225
  import { useVirtualizer } from '@tanstack/react-virtual';
224
226
  import * as ReactDOM from 'react-dom';
225
227
  import { createPortal } from 'react-dom';
@@ -15419,6 +15421,793 @@ var DashboardWidgetDataCards = React13.forwardRef(({ className, items, columns =
15419
15421
  );
15420
15422
  });
15421
15423
  DashboardWidgetDataCards.displayName = "DashboardWidgetDataCards";
15424
+ function getDefaultPresets(labels = {}) {
15425
+ const {
15426
+ today = "Today",
15427
+ thisWeek = "This Week",
15428
+ thisMonth = "This Month",
15429
+ lastMonth = "Last Month",
15430
+ last24Hours = "Last 24 Hours",
15431
+ last7Days = "Last 7 Days",
15432
+ last30Days = "Last 30 Days"
15433
+ } = labels;
15434
+ return [
15435
+ { key: "today", label: today },
15436
+ { key: "this-week", label: thisWeek },
15437
+ { key: "this-month", label: thisMonth },
15438
+ { key: "last-month", label: lastMonth },
15439
+ { key: "last-24-hours", label: last24Hours },
15440
+ { key: "last-7-days", label: last7Days },
15441
+ { key: "last-30-days", label: last30Days }
15442
+ ];
15443
+ }
15444
+ function getExtendedPresets(labels = {}) {
15445
+ const {
15446
+ today = "Today",
15447
+ yesterday = "Yesterday",
15448
+ thisWeek = "This Week",
15449
+ lastWeek = "Last Week",
15450
+ thisMonth = "This Month",
15451
+ lastMonth = "Last Month",
15452
+ thisQuarter = "This Quarter",
15453
+ lastQuarter = "Last Quarter",
15454
+ thisYear = "This Year",
15455
+ lastYear = "Last Year",
15456
+ last24Hours = "Last 24 Hours",
15457
+ last7Days = "Last 7 Days",
15458
+ last30Days = "Last 30 Days",
15459
+ last90Days = "Last 90 Days",
15460
+ last365Days = "Last 365 Days"
15461
+ } = labels;
15462
+ return [
15463
+ { key: "today", label: today },
15464
+ { key: "yesterday", label: yesterday },
15465
+ { key: "last-24-hours", label: last24Hours },
15466
+ { key: "this-week", label: thisWeek },
15467
+ { key: "last-week", label: lastWeek },
15468
+ { key: "last-7-days", label: last7Days },
15469
+ { key: "this-month", label: thisMonth },
15470
+ { key: "last-month", label: lastMonth },
15471
+ { key: "last-30-days", label: last30Days },
15472
+ { key: "this-quarter", label: thisQuarter },
15473
+ { key: "last-quarter", label: lastQuarter },
15474
+ { key: "last-90-days", label: last90Days },
15475
+ { key: "this-year", label: thisYear },
15476
+ { key: "last-year", label: lastYear },
15477
+ { key: "last-365-days", label: last365Days }
15478
+ ];
15479
+ }
15480
+ function endOfDay(d) {
15481
+ return new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59, 59, 999);
15482
+ }
15483
+ function calculateDateRange(presetKey) {
15484
+ const now = /* @__PURE__ */ new Date();
15485
+ const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
15486
+ switch (presetKey) {
15487
+ case "today":
15488
+ return { start: today, end: endOfDay(today) };
15489
+ case "yesterday": {
15490
+ const yesterday = new Date(today);
15491
+ yesterday.setDate(today.getDate() - 1);
15492
+ return { start: yesterday, end: endOfDay(yesterday) };
15493
+ }
15494
+ case "this-week": {
15495
+ const dayOfWeek = today.getDay();
15496
+ const sunday = new Date(today);
15497
+ sunday.setDate(today.getDate() - dayOfWeek);
15498
+ const saturday = new Date(sunday);
15499
+ saturday.setDate(sunday.getDate() + 6);
15500
+ return { start: sunday, end: endOfDay(saturday) };
15501
+ }
15502
+ case "last-week": {
15503
+ const dayOfWeek = today.getDay();
15504
+ const lastSunday = new Date(today);
15505
+ lastSunday.setDate(today.getDate() - dayOfWeek - 7);
15506
+ const lastSaturday = new Date(lastSunday);
15507
+ lastSaturday.setDate(lastSunday.getDate() + 6);
15508
+ return { start: lastSunday, end: endOfDay(lastSaturday) };
15509
+ }
15510
+ case "this-month": {
15511
+ const firstDay = new Date(now.getFullYear(), now.getMonth(), 1);
15512
+ const lastDay = new Date(now.getFullYear(), now.getMonth() + 1, 0);
15513
+ return { start: firstDay, end: endOfDay(lastDay) };
15514
+ }
15515
+ case "last-month": {
15516
+ const firstDay = new Date(now.getFullYear(), now.getMonth() - 1, 1);
15517
+ const lastDay = new Date(now.getFullYear(), now.getMonth(), 0);
15518
+ return { start: firstDay, end: endOfDay(lastDay) };
15519
+ }
15520
+ case "this-quarter": {
15521
+ const quarter = Math.floor(now.getMonth() / 3);
15522
+ const firstDay = new Date(now.getFullYear(), quarter * 3, 1);
15523
+ const lastDay = new Date(now.getFullYear(), quarter * 3 + 3, 0);
15524
+ return { start: firstDay, end: endOfDay(lastDay) };
15525
+ }
15526
+ case "last-quarter": {
15527
+ const quarter = Math.floor(now.getMonth() / 3);
15528
+ const firstDay = new Date(now.getFullYear(), (quarter - 1) * 3, 1);
15529
+ const lastDay = new Date(now.getFullYear(), quarter * 3, 0);
15530
+ return { start: firstDay, end: endOfDay(lastDay) };
15531
+ }
15532
+ case "this-year": {
15533
+ const firstDay = new Date(now.getFullYear(), 0, 1);
15534
+ const lastDay = new Date(now.getFullYear(), 11, 31);
15535
+ return { start: firstDay, end: endOfDay(lastDay) };
15536
+ }
15537
+ case "last-year": {
15538
+ const firstDay = new Date(now.getFullYear() - 1, 0, 1);
15539
+ const lastDay = new Date(now.getFullYear() - 1, 11, 31);
15540
+ return { start: firstDay, end: endOfDay(lastDay) };
15541
+ }
15542
+ case "last-24-hours":
15543
+ return {
15544
+ start: new Date(now.getTime() - 24 * 60 * 60 * 1e3),
15545
+ end: now
15546
+ };
15547
+ case "last-7-days":
15548
+ return {
15549
+ start: new Date(now.getTime() - 7 * 24 * 60 * 60 * 1e3),
15550
+ end: now
15551
+ };
15552
+ case "last-30-days":
15553
+ return {
15554
+ start: new Date(now.getTime() - 30 * 24 * 60 * 60 * 1e3),
15555
+ end: now
15556
+ };
15557
+ case "last-90-days":
15558
+ return {
15559
+ start: new Date(now.getTime() - 90 * 24 * 60 * 60 * 1e3),
15560
+ end: now
15561
+ };
15562
+ case "last-365-days":
15563
+ return {
15564
+ start: new Date(now.getTime() - 365 * 24 * 60 * 60 * 1e3),
15565
+ end: now
15566
+ };
15567
+ default:
15568
+ return { start: null, end: null };
15569
+ }
15570
+ }
15571
+ function formatDateRange(range) {
15572
+ if (!range.start && !range.end) return "";
15573
+ const formatDate4 = (d) => {
15574
+ if (!d) return "";
15575
+ return d.toLocaleDateString("en-US", {
15576
+ month: "short",
15577
+ day: "numeric",
15578
+ year: "numeric"
15579
+ });
15580
+ };
15581
+ if (range.start && range.end) {
15582
+ return `${formatDate4(range.start)} - ${formatDate4(range.end)}`;
15583
+ }
15584
+ return formatDate4(range.start || range.end);
15585
+ }
15586
+ function DateRangePicker({
15587
+ value,
15588
+ onChange,
15589
+ presets,
15590
+ activePreset,
15591
+ placeholder = "Pick a date range",
15592
+ className,
15593
+ align = "auto",
15594
+ showPresets = true,
15595
+ variant = "desktop",
15596
+ labels = {}
15597
+ }) {
15598
+ const finalPresets = presets || getDefaultPresets(labels);
15599
+ const [isCalendarOpen, setIsCalendarOpen] = React13.useState(false);
15600
+ const [leftMonth, setLeftMonth] = React13.useState(
15601
+ () => value?.start?.getMonth() ?? (/* @__PURE__ */ new Date()).getMonth()
15602
+ );
15603
+ const [leftYear, setLeftYear] = React13.useState(
15604
+ () => value?.start?.getFullYear() ?? (/* @__PURE__ */ new Date()).getFullYear()
15605
+ );
15606
+ const [rangeStart, setRangeStart] = React13.useState(
15607
+ value?.start ?? null
15608
+ );
15609
+ const [rangeEnd, setRangeEnd] = React13.useState(
15610
+ value?.end ?? null
15611
+ );
15612
+ const [selectingEnd, setSelectingEnd] = React13.useState(false);
15613
+ const [hoverDate, setHoverDate] = React13.useState(null);
15614
+ const calendarRef = React13.useRef(null);
15615
+ const triggerRef = React13.useRef(null);
15616
+ const [resolvedAlign, setResolvedAlign] = React13.useState(
15617
+ align === "end" ? "end" : "start"
15618
+ );
15619
+ const isMobileVariant = variant === "mobile";
15620
+ const isResponsive = variant === "responsive";
15621
+ const focusTrapRef = useFocusTrap(
15622
+ isMobileVariant && isCalendarOpen
15623
+ );
15624
+ const rightMonth = leftMonth === 11 ? 0 : leftMonth + 1;
15625
+ const rightYear = leftMonth === 11 ? leftYear + 1 : leftYear;
15626
+ React13.useEffect(() => {
15627
+ if (!value) {
15628
+ setRangeStart(null);
15629
+ setRangeEnd(null);
15630
+ return;
15631
+ }
15632
+ setRangeStart(value.start ?? null);
15633
+ setRangeEnd(value.end ?? null);
15634
+ }, [value]);
15635
+ const wrapperRef = React13.useRef(null);
15636
+ const outsideRefs = React13.useMemo(
15637
+ () => [wrapperRef, calendarRef],
15638
+ [calendarRef]
15639
+ );
15640
+ useClickOutside(
15641
+ outsideRefs,
15642
+ () => {
15643
+ setIsCalendarOpen(false);
15644
+ setSelectingEnd(false);
15645
+ },
15646
+ isCalendarOpen
15647
+ );
15648
+ const { anchorRef, floatingRef, style } = useAnchoredPosition({
15649
+ open: !isMobileVariant && isCalendarOpen,
15650
+ placement: resolvedAlign === "end" ? "bottom-end" : "bottom-start"
15651
+ });
15652
+ useEscapeKey(() => {
15653
+ setIsCalendarOpen(false);
15654
+ setSelectingEnd(false);
15655
+ triggerRef.current?.focus();
15656
+ }, isCalendarOpen);
15657
+ React13.useEffect(() => {
15658
+ if (isStorybookDocsMode()) return;
15659
+ if (isMobileVariant && isCalendarOpen) {
15660
+ const prev = document.body.style.overflow;
15661
+ document.body.style.overflow = "hidden";
15662
+ return () => {
15663
+ document.body.style.overflow = prev;
15664
+ };
15665
+ }
15666
+ }, [isMobileVariant, isCalendarOpen]);
15667
+ React13.useLayoutEffect(() => {
15668
+ if (isMobileVariant || !isCalendarOpen) return;
15669
+ if (align === "start" || align === "end") {
15670
+ setResolvedAlign(align);
15671
+ return;
15672
+ }
15673
+ if (typeof window === "undefined") return;
15674
+ const trigger = triggerRef.current;
15675
+ if (!trigger) return;
15676
+ const rect = trigger.getBoundingClientRect();
15677
+ const estimatedPopupWidth = showPresets ? 840 : 640;
15678
+ const margin = 8;
15679
+ const overflowsRight = rect.left + estimatedPopupWidth > window.innerWidth - margin;
15680
+ const fitsLeftAligned = rect.right - estimatedPopupWidth >= margin;
15681
+ setResolvedAlign(overflowsRight && fitsLeftAligned ? "end" : "start");
15682
+ }, [align, isCalendarOpen, isMobileVariant, showPresets]);
15683
+ const handlePresetSelect = (presetKey) => {
15684
+ const range = calculateDateRange(presetKey);
15685
+ setRangeStart(range.start);
15686
+ setRangeEnd(range.end);
15687
+ setSelectingEnd(false);
15688
+ setIsCalendarOpen(false);
15689
+ if (range.start) {
15690
+ setLeftMonth(range.start.getMonth());
15691
+ setLeftYear(range.start.getFullYear());
15692
+ }
15693
+ onChange(range, presetKey);
15694
+ };
15695
+ const handleDayClick = (day, month, year) => {
15696
+ const clicked = new Date(year, month, day);
15697
+ if (!selectingEnd) {
15698
+ setRangeStart(clicked);
15699
+ setRangeEnd(null);
15700
+ setSelectingEnd(true);
15701
+ } else {
15702
+ let start = rangeStart;
15703
+ let end = clicked;
15704
+ if (end < start) {
15705
+ [start, end] = [end, start];
15706
+ }
15707
+ setRangeStart(start);
15708
+ setRangeEnd(end);
15709
+ setSelectingEnd(false);
15710
+ if (variant !== "mobile") {
15711
+ setIsCalendarOpen(false);
15712
+ }
15713
+ onChange({ start, end });
15714
+ }
15715
+ };
15716
+ const toggleCalendar = () => {
15717
+ if (!isCalendarOpen) {
15718
+ if (value?.start) {
15719
+ setRangeStart(value.start);
15720
+ setRangeEnd(value.end ?? null);
15721
+ setLeftMonth(value.start.getMonth());
15722
+ setLeftYear(value.start.getFullYear());
15723
+ } else {
15724
+ const now = /* @__PURE__ */ new Date();
15725
+ setLeftMonth(now.getMonth());
15726
+ setLeftYear(now.getFullYear());
15727
+ }
15728
+ setSelectingEnd(false);
15729
+ }
15730
+ setIsCalendarOpen(!isCalendarOpen);
15731
+ };
15732
+ const goToPrevMonth = () => {
15733
+ if (leftMonth === 0) {
15734
+ setLeftMonth(11);
15735
+ setLeftYear(leftYear - 1);
15736
+ } else {
15737
+ setLeftMonth(leftMonth - 1);
15738
+ }
15739
+ };
15740
+ const goToNextMonth = () => {
15741
+ if (leftMonth === 11) {
15742
+ setLeftMonth(0);
15743
+ setLeftYear(leftYear + 1);
15744
+ } else {
15745
+ setLeftMonth(leftMonth + 1);
15746
+ }
15747
+ };
15748
+ const getDaysInMonth = (month, year) => new Date(year, month + 1, 0).getDate();
15749
+ const getFirstDayOfMonth = (month, year) => new Date(year, month, 1).getDay();
15750
+ const isSameDay = (a, b) => a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
15751
+ const isInRange = (date) => {
15752
+ const start = rangeStart;
15753
+ const end = selectingEnd ? hoverDate : rangeEnd;
15754
+ if (!start || !end) return false;
15755
+ const [lo, hi] = start <= end ? [start, end] : [end, start];
15756
+ return date > lo && date < hi;
15757
+ };
15758
+ const isStart = (date) => {
15759
+ if (!rangeStart) return false;
15760
+ return isSameDay(date, rangeStart);
15761
+ };
15762
+ const isEnd = (date) => {
15763
+ const end = selectingEnd ? hoverDate : rangeEnd;
15764
+ if (!end) return false;
15765
+ return isSameDay(date, end);
15766
+ };
15767
+ const isToday = (date) => {
15768
+ const today = /* @__PURE__ */ new Date();
15769
+ return isSameDay(date, today);
15770
+ };
15771
+ const displayValue = value ? formatDateRange(value) : "";
15772
+ const monthNames = React13.useMemo(
15773
+ () => Array.from(
15774
+ { length: 12 },
15775
+ (_, i) => new Intl.DateTimeFormat(void 0, { month: "long" }).format(
15776
+ new Date(2e3, i, 1)
15777
+ )
15778
+ ),
15779
+ []
15780
+ );
15781
+ const weekdayNames = React13.useMemo(
15782
+ () => Array.from(
15783
+ { length: 7 },
15784
+ (_, i) => new Intl.DateTimeFormat(void 0, { weekday: "short" }).format(
15785
+ new Date(1970, 0, 4 + i)
15786
+ )
15787
+ ),
15788
+ []
15789
+ );
15790
+ const renderMonthGrid = (month, year) => {
15791
+ const daysInMonth = getDaysInMonth(month, year);
15792
+ const firstDay = getFirstDayOfMonth(month, year);
15793
+ const prevMonth = month === 0 ? 11 : month - 1;
15794
+ const prevYear = month === 0 ? year - 1 : year;
15795
+ const daysInPrevMonth = getDaysInMonth(prevMonth, prevYear);
15796
+ const cells = [];
15797
+ for (let i = firstDay - 1; i >= 0; i--) {
15798
+ cells.push({
15799
+ day: daysInPrevMonth - i,
15800
+ month: prevMonth,
15801
+ year: prevYear,
15802
+ isCurrentMonth: false
15803
+ });
15804
+ }
15805
+ for (let i = 1; i <= daysInMonth; i++) {
15806
+ cells.push({ day: i, month, year, isCurrentMonth: true });
15807
+ }
15808
+ const nextMonth = month === 11 ? 0 : month + 1;
15809
+ const nextYear = month === 11 ? year + 1 : year;
15810
+ const remaining = 42 - cells.length;
15811
+ for (let i = 1; i <= remaining; i++) {
15812
+ cells.push({
15813
+ day: i,
15814
+ month: nextMonth,
15815
+ year: nextYear,
15816
+ isCurrentMonth: false
15817
+ });
15818
+ }
15819
+ return /* @__PURE__ */ jsxs("div", { className: "w-[280px]", "data-slot": "date-range-grid", children: [
15820
+ /* @__PURE__ */ jsx("div", { className: "mb-1 grid grid-cols-7", "data-slot": "date-range-weekdays", children: weekdayNames.map((dayName) => /* @__PURE__ */ jsx(
15821
+ "div",
15822
+ {
15823
+ className: "text-muted-foreground py-1 text-center text-xs font-medium",
15824
+ "data-slot": "date-range-weekday",
15825
+ children: dayName
15826
+ },
15827
+ dayName
15828
+ )) }),
15829
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-7", "data-slot": "date-range-day-grid", children: cells.map((cell, index) => {
15830
+ const date = new Date(cell.year, cell.month, cell.day);
15831
+ const inRange = isInRange(date);
15832
+ const start = isStart(date);
15833
+ const end = isEnd(date);
15834
+ const today = isToday(date);
15835
+ return /* @__PURE__ */ jsx(
15836
+ "button",
15837
+ {
15838
+ type: "button",
15839
+ "data-slot": "date-range-day",
15840
+ onClick: () => handleDayClick(cell.day, cell.month, cell.year),
15841
+ onMouseEnter: () => {
15842
+ if (selectingEnd) {
15843
+ setHoverDate(date);
15844
+ }
15845
+ },
15846
+ className: cn(
15847
+ "relative h-9 w-10 text-center text-sm",
15848
+ "focus:ring-ring focus:z-10 focus:ring-2 focus:outline-none",
15849
+ "transition-colors",
15850
+ // Not current month — dimmed
15851
+ !cell.isCurrentMonth && "text-muted-foreground/50",
15852
+ // Current month — normal
15853
+ cell.isCurrentMonth && "text-foreground",
15854
+ // Hover
15855
+ "hover:bg-muted",
15856
+ // In range background
15857
+ inRange && "bg-muted",
15858
+ // Start date
15859
+ start && "bg-foreground text-background hover:bg-foreground rounded-s-md font-semibold",
15860
+ // End date
15861
+ end && !start && "border-foreground text-foreground rounded-e-md border font-semibold",
15862
+ // Today indicator (only if not start/end)
15863
+ today && !start && !end && "font-semibold"
15864
+ ),
15865
+ children: cell.day
15866
+ },
15867
+ index
15868
+ );
15869
+ }) })
15870
+ ] });
15871
+ };
15872
+ return /* @__PURE__ */ jsxs(
15873
+ "div",
15874
+ {
15875
+ ref: (node) => {
15876
+ wrapperRef.current = node;
15877
+ anchorRef.current = node;
15878
+ },
15879
+ className: cn("relative inline-block", className),
15880
+ "data-slot": "date-range-picker",
15881
+ children: [
15882
+ /* @__PURE__ */ jsxs(
15883
+ "button",
15884
+ {
15885
+ ref: triggerRef,
15886
+ type: "button",
15887
+ onClick: toggleCalendar,
15888
+ "aria-expanded": isCalendarOpen,
15889
+ "aria-haspopup": "dialog",
15890
+ "data-slot": "date-range-trigger",
15891
+ className: cn(
15892
+ "border-input bg-background hover:bg-muted",
15893
+ "inline-flex w-[300px] items-center gap-2 rounded-md border px-4 py-2 text-start text-sm font-normal",
15894
+ "focus:ring-ring focus:ring-2 focus:outline-none",
15895
+ "transition-colors",
15896
+ !displayValue && "text-muted-foreground"
15897
+ ),
15898
+ children: [
15899
+ /* @__PURE__ */ jsx(Calendar$1, { className: "h-4 w-4", "data-slot": "date-range-trigger-icon" }),
15900
+ displayValue || placeholder
15901
+ ]
15902
+ }
15903
+ ),
15904
+ isMobileVariant && isCalendarOpen && // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
15905
+ /* @__PURE__ */ jsx(
15906
+ "div",
15907
+ {
15908
+ "data-slot": "date-range-mobile-overlay",
15909
+ className: "fixed inset-0 z-50 flex items-end justify-center bg-black/40",
15910
+ onClick: (event) => {
15911
+ if (event.target !== event.currentTarget) return;
15912
+ setIsCalendarOpen(false);
15913
+ setSelectingEnd(false);
15914
+ setHoverDate(null);
15915
+ if (triggerRef.current instanceof HTMLElement) {
15916
+ triggerRef.current.focus();
15917
+ }
15918
+ },
15919
+ children: /* @__PURE__ */ jsxs(
15920
+ "div",
15921
+ {
15922
+ ref: (node) => {
15923
+ calendarRef.current = node;
15924
+ focusTrapRef.current = node;
15925
+ },
15926
+ className: "bg-background animate-in slide-in-from-bottom max-h-[90vh] w-full max-w-md overflow-y-auto rounded-t-2xl px-6 pt-4 pb-6 shadow-xl",
15927
+ role: "dialog",
15928
+ "aria-modal": "true",
15929
+ "aria-labelledby": "mobile-date-range-title",
15930
+ "data-slot": "date-range-mobile-sheet",
15931
+ children: [
15932
+ /* @__PURE__ */ jsx(
15933
+ "div",
15934
+ {
15935
+ className: "bg-muted mx-auto mb-4 h-1 w-10 rounded-full",
15936
+ "data-slot": "date-range-mobile-handle"
15937
+ }
15938
+ ),
15939
+ /* @__PURE__ */ jsx(
15940
+ "h3",
15941
+ {
15942
+ id: "mobile-date-range-title",
15943
+ className: "mb-4 text-lg font-semibold",
15944
+ "data-slot": "date-range-mobile-title",
15945
+ children: placeholder
15946
+ }
15947
+ ),
15948
+ /* @__PURE__ */ jsxs(
15949
+ "div",
15950
+ {
15951
+ className: "mb-3 flex items-center justify-center gap-4",
15952
+ "data-slot": "date-range-month-header",
15953
+ children: [
15954
+ /* @__PURE__ */ jsx(
15955
+ "button",
15956
+ {
15957
+ type: "button",
15958
+ onClick: goToPrevMonth,
15959
+ className: "hover:bg-muted rounded-md p-1 transition-colors",
15960
+ "aria-label": "Previous month",
15961
+ "data-slot": "date-range-nav",
15962
+ children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4 rtl:-scale-x-100" })
15963
+ }
15964
+ ),
15965
+ /* @__PURE__ */ jsxs(
15966
+ "div",
15967
+ {
15968
+ className: "text-sm font-medium",
15969
+ "data-slot": "date-range-month-label",
15970
+ children: [
15971
+ monthNames[leftMonth],
15972
+ " ",
15973
+ leftYear
15974
+ ]
15975
+ }
15976
+ ),
15977
+ /* @__PURE__ */ jsx(
15978
+ "button",
15979
+ {
15980
+ type: "button",
15981
+ onClick: goToNextMonth,
15982
+ className: "hover:bg-muted rounded-md p-1 transition-colors",
15983
+ "aria-label": "Next month",
15984
+ "data-slot": "date-range-nav",
15985
+ children: /* @__PURE__ */ jsx(ChevronRight$1, { className: "h-4 w-4 rtl:-scale-x-100" })
15986
+ }
15987
+ )
15988
+ ]
15989
+ }
15990
+ ),
15991
+ /* @__PURE__ */ jsx(
15992
+ "div",
15993
+ {
15994
+ className: "flex justify-center",
15995
+ onMouseLeave: () => setHoverDate(null),
15996
+ children: renderMonthGrid(leftMonth, leftYear)
15997
+ }
15998
+ ),
15999
+ /* @__PURE__ */ jsx(
16000
+ "button",
16001
+ {
16002
+ type: "button",
16003
+ "data-slot": "date-range-mobile-done",
16004
+ onClick: () => {
16005
+ setIsCalendarOpen(false);
16006
+ setSelectingEnd(false);
16007
+ if (triggerRef.current instanceof HTMLElement) {
16008
+ triggerRef.current.focus();
16009
+ }
16010
+ },
16011
+ className: "border-input hover:bg-muted mt-6 w-full rounded-lg border py-3 text-sm font-medium transition-colors",
16012
+ children: labels?.done ?? "Done"
16013
+ }
16014
+ )
16015
+ ]
16016
+ }
16017
+ )
16018
+ }
16019
+ ),
16020
+ !isMobileVariant && isCalendarOpen && createPortal(
16021
+ /* @__PURE__ */ jsx(
16022
+ "div",
16023
+ {
16024
+ ref: (node) => {
16025
+ calendarRef.current = node;
16026
+ floatingRef.current = node;
16027
+ },
16028
+ style,
16029
+ className: cn(
16030
+ "overflow-auto",
16031
+ "bg-background border-border rounded-lg border shadow-lg"
16032
+ ),
16033
+ role: "dialog",
16034
+ "aria-label": "Choose date range",
16035
+ "data-slot": "date-range-popup",
16036
+ children: /* @__PURE__ */ jsxs("div", { className: "flex", children: [
16037
+ showPresets && /* @__PURE__ */ jsx(
16038
+ "div",
16039
+ {
16040
+ className: cn(
16041
+ "border-border flex w-[200px] shrink-0 flex-col gap-0.5 border-e p-3",
16042
+ isResponsive && "hidden md:flex"
16043
+ ),
16044
+ "data-slot": "date-range-presets",
16045
+ children: finalPresets.map((preset) => /* @__PURE__ */ jsx(
16046
+ "button",
16047
+ {
16048
+ type: "button",
16049
+ onClick: () => handlePresetSelect(preset.key),
16050
+ "data-slot": "date-range-preset",
16051
+ className: cn(
16052
+ "rounded-md px-3 py-1.5 text-start text-sm transition-colors",
16053
+ "hover:bg-muted",
16054
+ activePreset === preset.key && "bg-primary-800 text-white"
16055
+ ),
16056
+ children: preset.label
16057
+ },
16058
+ preset.key
16059
+ ))
16060
+ }
16061
+ ),
16062
+ /* @__PURE__ */ jsxs("div", { className: "p-4", "data-slot": "date-range-calendar", children: [
16063
+ /* @__PURE__ */ jsx(
16064
+ "p",
16065
+ {
16066
+ className: "text-muted-foreground mb-4 text-sm",
16067
+ "data-slot": "date-range-subtitle",
16068
+ children: "Select a start and end date from the calendar."
16069
+ }
16070
+ ),
16071
+ /* @__PURE__ */ jsxs(
16072
+ "div",
16073
+ {
16074
+ className: "flex gap-8",
16075
+ onMouseLeave: () => setHoverDate(null),
16076
+ "data-slot": "date-range-calendars",
16077
+ children: [
16078
+ /* @__PURE__ */ jsxs("div", { children: [
16079
+ /* @__PURE__ */ jsxs(
16080
+ "div",
16081
+ {
16082
+ className: "mb-3 flex items-center",
16083
+ "data-slot": "date-range-month-header",
16084
+ children: [
16085
+ /* @__PURE__ */ jsx(
16086
+ "button",
16087
+ {
16088
+ type: "button",
16089
+ onClick: goToPrevMonth,
16090
+ className: "hover:bg-muted rounded-md p-1 transition-colors",
16091
+ "aria-label": "Previous month",
16092
+ "data-slot": "date-range-nav",
16093
+ children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4 rtl:-scale-x-100" })
16094
+ }
16095
+ ),
16096
+ /* @__PURE__ */ jsxs(
16097
+ "div",
16098
+ {
16099
+ className: "flex-1 text-center text-sm font-medium",
16100
+ "data-slot": "date-range-month-label",
16101
+ children: [
16102
+ monthNames[leftMonth],
16103
+ " ",
16104
+ leftYear
16105
+ ]
16106
+ }
16107
+ ),
16108
+ isResponsive && /* @__PURE__ */ jsx(
16109
+ "button",
16110
+ {
16111
+ type: "button",
16112
+ onClick: goToNextMonth,
16113
+ className: "hover:bg-muted rounded-md p-1 transition-colors md:hidden",
16114
+ "aria-label": "Next month",
16115
+ "data-slot": "date-range-nav",
16116
+ children: /* @__PURE__ */ jsx(ChevronRight$1, { className: "h-4 w-4 rtl:-scale-x-100" })
16117
+ }
16118
+ )
16119
+ ]
16120
+ }
16121
+ ),
16122
+ renderMonthGrid(leftMonth, leftYear)
16123
+ ] }),
16124
+ /* @__PURE__ */ jsxs("div", { className: cn(isResponsive && "hidden md:block"), children: [
16125
+ /* @__PURE__ */ jsxs(
16126
+ "div",
16127
+ {
16128
+ className: "mb-3 flex items-center",
16129
+ "data-slot": "date-range-month-header",
16130
+ children: [
16131
+ /* @__PURE__ */ jsxs(
16132
+ "div",
16133
+ {
16134
+ className: "flex-1 text-center text-sm font-medium",
16135
+ "data-slot": "date-range-month-label",
16136
+ children: [
16137
+ monthNames[rightMonth],
16138
+ " ",
16139
+ rightYear
16140
+ ]
16141
+ }
16142
+ ),
16143
+ /* @__PURE__ */ jsx(
16144
+ "button",
16145
+ {
16146
+ type: "button",
16147
+ onClick: goToNextMonth,
16148
+ className: "hover:bg-muted rounded-md p-1 transition-colors",
16149
+ "aria-label": "Next month",
16150
+ "data-slot": "date-range-nav",
16151
+ children: /* @__PURE__ */ jsx(ChevronRight$1, { className: "h-4 w-4 rtl:-scale-x-100" })
16152
+ }
16153
+ )
16154
+ ]
16155
+ }
16156
+ ),
16157
+ renderMonthGrid(rightMonth, rightYear)
16158
+ ] })
16159
+ ]
16160
+ }
16161
+ )
16162
+ ] })
16163
+ ] })
16164
+ }
16165
+ ),
16166
+ document.body
16167
+ )
16168
+ ]
16169
+ }
16170
+ );
16171
+ }
16172
+ function DateRangeFilter({
16173
+ value: _value,
16174
+ onChange,
16175
+ presets,
16176
+ activePreset,
16177
+ variant = "outline",
16178
+ className,
16179
+ labels = {}
16180
+ }) {
16181
+ const finalPresets = presets || getDefaultPresets(labels);
16182
+ const activeLabel = finalPresets.find((p) => p.key === activePreset)?.label;
16183
+ const handlePresetSelect = (presetKey) => {
16184
+ const range = calculateDateRange(presetKey);
16185
+ onChange(range, presetKey);
16186
+ };
16187
+ return /* @__PURE__ */ jsx(
16188
+ Dropdown,
16189
+ {
16190
+ trigger: /* @__PURE__ */ jsxs(Button, { variant, size: "md", className, children: [
16191
+ /* @__PURE__ */ jsx(Calendar$1, { className: "me-2 h-4 w-4" }),
16192
+ activeLabel || labels.filter || "Filter by Date",
16193
+ /* @__PURE__ */ jsx(ChevronDown$1, { className: "ms-2 h-3 w-3" })
16194
+ ] }),
16195
+ className: "w-56",
16196
+ "data-slot": "date-range-filter",
16197
+ children: finalPresets.map((preset) => /* @__PURE__ */ jsx(
16198
+ DropdownItem,
16199
+ {
16200
+ onClick: () => handlePresetSelect(preset.key),
16201
+ className: cn(
16202
+ activePreset === preset.key && "bg-primary/10 text-primary"
16203
+ ),
16204
+ children: preset.label
16205
+ },
16206
+ preset.key
16207
+ ))
16208
+ }
16209
+ );
16210
+ }
15422
16211
  function DropZone({
15423
16212
  onFilesSelected,
15424
16213
  acceptedFileTypes,
@@ -42958,6 +43747,6 @@ function WebsiteInputGroup({
42958
43747
  }
42959
43748
  WebsiteInputGroup.displayName = "WebsiteInputGroup";
42960
43749
 
42961
- 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, AuthButtons, AuthDialog, BUSINESS_HOURS_END_OF_DAY, BookAppointmentButton, BookingDialog, BusinessHours, BusinessHoursEditor, CSVColumnMapper, CSVFileUpload, CardSkeleton, CaseContextBar, CaseManagementHeader, CheckrIntegration, ClaimListingButton, ClaimProviderForm, CommandPalette, CommandPaletteProvider, CommandPaletteTrigger, CompactCookieBanner, CompactFilterBar, CompactHeader, CompactHours, CompactProviderHeader, ConnectionStatusBadge, ConnectionStatusBar, ConnectionStatusOverlay, ConsentSwitch, CookieConsentBanner, CopyrightText, CountBadge, CountryDropdown, CreateInvoiceModal, CreateReferralModal, DEFAULT_BUSINESS_HOURS_EDITOR_LABELS, DEFAULT_ERROR_CONFIGS, DEFAULT_LANGUAGES, DEFAULT_RADIUS_OPTIONS, DEFAULT_SERVICE_PRICING_MANAGER_LABELS, DEFAULT_SOCIAL_PROVIDERS, DEFAULT_TRANSCRIPT_PLAYER_LABELS, DOTBadge, DashboardWidget, DashboardWidgetActions, DashboardWidgetDataCards, DashboardWidgetInfo, DashboardWidgetTable, DialogOverlay, DisclaimerText, DockablePanel, 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, HeyOzwellSelector, 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, OfflinePage, OnboardingCompletion, OnboardingStepQuestion, OnboardingWizard, OpenStatusBadge, OrderCard, OrderConfirmation, OrderConfirmationWizard, OrderDetailSidebar, OrderEditor, OrderList, OrderLookupForm, OrderSidebar, OrderSidebarTabs, OzwellChat, OzwellSettingsMenu, PageHeader, PatientHeader, PaymentHistoryTable, PaymentMethodBank, PaymentMethodCard, PaymentMethodList, PendingClaimsTable, PermissionsEditor, PillSelect, PresentingProblems, 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, TranscriptPlayer, UpdateAvailableOverlay, UserMenu, VerifiedBadge2 as VerifiedBadge, VisitScribe, VoiceManager, VoiceSetup, WEBSITE_TYPES, WebChartReportViewer, WebcamModal, WebsiteInput, WebsiteInputGroup, attributeSegments, centroid, chime, clusterEmbeddings, computePeaks, cosine, countBadgeVariants, countChipVariants, create24HourSchedule, createDefaultSchedule, createWeekdaySchedule, defaultCaseManagementHeaderLabels, defaultHeyOzwellSelectorLabels, defaultOrderTabs, defaultReconciliationIsEqual, formatAddressLines, formatAddressSingleLine, formatCityState, formatCityStateZip, generateId, getGoogleMapsSearchUrl, getGoogleMapsUrl, getWakeWarm, inferSpeakerRoles, isValidUrl, labelClusters, medicationToOrder, mergeTurns, normalizeClosingTime, openRollingRecorder, orderToMedication, parseTimeInput, panelVariants as reconciliationPanelVariants, subscribeWakeWarm, useCamera, useCommandPalette, useConnectionStatus, useCookieConsent, useDiarization, useDocumentDetection, useDropzone, useFileUpload, useHeyOzwell, useOptionalToast, useSidebar, useSpeakerVerify, useToast, useVisitScribe, useVoiceSetup, useWakeWord, warmWakeModels, widgetVariants };
43750
+ 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, AuthButtons, AuthDialog, BUSINESS_HOURS_END_OF_DAY, BookAppointmentButton, BookingDialog, BusinessHours, BusinessHoursEditor, CSVColumnMapper, CSVFileUpload, CardSkeleton, CaseContextBar, CaseManagementHeader, CheckrIntegration, ClaimListingButton, ClaimProviderForm, CommandPalette, CommandPaletteProvider, CommandPaletteTrigger, CompactCookieBanner, CompactFilterBar, CompactHeader, CompactHours, CompactProviderHeader, ConnectionStatusBadge, ConnectionStatusBar, ConnectionStatusOverlay, ConsentSwitch, CookieConsentBanner, CopyrightText, CountBadge, CountryDropdown, CreateInvoiceModal, CreateReferralModal, DEFAULT_BUSINESS_HOURS_EDITOR_LABELS, DEFAULT_ERROR_CONFIGS, DEFAULT_LANGUAGES, DEFAULT_RADIUS_OPTIONS, DEFAULT_SERVICE_PRICING_MANAGER_LABELS, DEFAULT_SOCIAL_PROVIDERS, DEFAULT_TRANSCRIPT_PLAYER_LABELS, DOTBadge, DashboardWidget, DashboardWidgetActions, DashboardWidgetDataCards, DashboardWidgetInfo, DashboardWidgetTable, DateRangeFilter, DateRangePicker, DialogOverlay, DisclaimerText, DockablePanel, 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, HeyOzwellSelector, 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, OfflinePage, OnboardingCompletion, OnboardingStepQuestion, OnboardingWizard, OpenStatusBadge, OrderCard, OrderConfirmation, OrderConfirmationWizard, OrderDetailSidebar, OrderEditor, OrderList, OrderLookupForm, OrderSidebar, OrderSidebarTabs, OzwellChat, OzwellSettingsMenu, PageHeader, PatientHeader, PaymentHistoryTable, PaymentMethodBank, PaymentMethodCard, PaymentMethodList, PendingClaimsTable, PermissionsEditor, PillSelect, PresentingProblems, 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, TranscriptPlayer, UpdateAvailableOverlay, UserMenu, VerifiedBadge2 as VerifiedBadge, VisitScribe, VoiceManager, VoiceSetup, WEBSITE_TYPES, WebChartReportViewer, WebcamModal, WebsiteInput, WebsiteInputGroup, attributeSegments, calculateDateRange, centroid, chime, clusterEmbeddings, computePeaks, cosine, countBadgeVariants, countChipVariants, create24HourSchedule, createDefaultSchedule, createWeekdaySchedule, defaultCaseManagementHeaderLabels, defaultHeyOzwellSelectorLabels, defaultOrderTabs, defaultReconciliationIsEqual, formatAddressLines, formatAddressSingleLine, formatCityState, formatCityStateZip, generateId, getDefaultPresets, getExtendedPresets, getGoogleMapsSearchUrl, getGoogleMapsUrl, getWakeWarm, inferSpeakerRoles, isValidUrl, labelClusters, medicationToOrder, mergeTurns, normalizeClosingTime, openRollingRecorder, orderToMedication, parseTimeInput, panelVariants as reconciliationPanelVariants, subscribeWakeWarm, useCamera, useCommandPalette, useConnectionStatus, useCookieConsent, useDiarization, useDocumentDetection, useDropzone, useFileUpload, useHeyOzwell, useOptionalToast, useSidebar, useSpeakerVerify, useToast, useVisitScribe, useVoiceSetup, useWakeWord, warmWakeModels, widgetVariants };
42962
43751
  //# sourceMappingURL=index.js.map
42963
43752
  //# sourceMappingURL=index.js.map