@mieweb/ui 0.11.0-dev.33 → 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.
- package/dist/{chunk-PJN4HM2X.cjs → chunk-3O3Q3DX7.cjs} +21 -21
- package/dist/{chunk-PJN4HM2X.cjs.map → chunk-3O3Q3DX7.cjs.map} +1 -1
- package/dist/{chunk-M42FTWY2.cjs → chunk-46RYJYN2.cjs} +6 -6
- package/dist/{chunk-M42FTWY2.cjs.map → chunk-46RYJYN2.cjs.map} +1 -1
- package/dist/{chunk-JMAZ2GKT.js → chunk-4GSFVD5V.js} +3 -3
- package/dist/{chunk-JMAZ2GKT.js.map → chunk-4GSFVD5V.js.map} +1 -1
- package/dist/{chunk-2R3ILG4Y.cjs → chunk-4M2KE4O5.cjs} +7 -7
- package/dist/{chunk-2R3ILG4Y.cjs.map → chunk-4M2KE4O5.cjs.map} +1 -1
- package/dist/{chunk-NAQMIFUF.js → chunk-4SUEBKTY.js} +3 -3
- package/dist/{chunk-NAQMIFUF.js.map → chunk-4SUEBKTY.js.map} +1 -1
- package/dist/{chunk-X6HEWIYP.cjs → chunk-6O6EYKOG.cjs} +130 -874
- package/dist/chunk-6O6EYKOG.cjs.map +1 -0
- package/dist/{chunk-ZNYBLM4O.cjs → chunk-DXNVQQYN.cjs} +4 -4
- package/dist/{chunk-ZNYBLM4O.cjs.map → chunk-DXNVQQYN.cjs.map} +1 -1
- package/dist/{chunk-WEGKY2LY.js → chunk-EWPNM6OO.js} +5 -3
- package/dist/chunk-EWPNM6OO.js.map +1 -0
- package/dist/{chunk-IBEQ54XW.js → chunk-EX7Q5545.js} +4 -4
- package/dist/{chunk-IBEQ54XW.js.map → chunk-EX7Q5545.js.map} +1 -1
- package/dist/{chunk-VV2U36T6.cjs → chunk-MZR634HI.cjs} +9 -9
- package/dist/{chunk-VV2U36T6.cjs.map → chunk-MZR634HI.cjs.map} +1 -1
- package/dist/{chunk-JCO62XMU.cjs → chunk-NCPDUJKJ.cjs} +43 -26
- package/dist/chunk-NCPDUJKJ.cjs.map +1 -0
- package/dist/{chunk-PYAK7XXD.js → chunk-NW6D6AFL.js} +80 -819
- package/dist/chunk-NW6D6AFL.js.map +1 -0
- package/dist/{chunk-ZPPMEUGR.cjs → chunk-PGJLW2NO.cjs} +7 -7
- package/dist/{chunk-ZPPMEUGR.cjs.map → chunk-PGJLW2NO.cjs.map} +1 -1
- package/dist/{chunk-ZFJJMDV3.js → chunk-RTADGBBN.js} +3 -3
- package/dist/{chunk-ZFJJMDV3.js.map → chunk-RTADGBBN.js.map} +1 -1
- package/dist/{chunk-LJ4CCM3V.cjs → chunk-S2CJ57BX.cjs} +5 -3
- package/dist/chunk-S2CJ57BX.cjs.map +1 -0
- package/dist/{chunk-KSQQBFDQ.js → chunk-SPGP252Q.js} +43 -26
- package/dist/chunk-SPGP252Q.js.map +1 -0
- package/dist/{chunk-67SD6VPF.cjs → chunk-SVC7NPQ6.cjs} +6 -6
- package/dist/{chunk-67SD6VPF.cjs.map → chunk-SVC7NPQ6.cjs.map} +1 -1
- package/dist/{chunk-TWQSMUE6.js → chunk-VMEVLBI3.js} +46 -38
- package/dist/chunk-VMEVLBI3.js.map +1 -0
- package/dist/{chunk-QNJEDBIN.js → chunk-X5HLVACK.js} +4 -4
- package/dist/{chunk-QNJEDBIN.js.map → chunk-X5HLVACK.js.map} +1 -1
- package/dist/{chunk-LC3JL2HB.cjs → chunk-XEHD2HA5.cjs} +46 -38
- package/dist/chunk-XEHD2HA5.cjs.map +1 -0
- package/dist/{chunk-R3MJKY63.js → chunk-YGSPIDE4.js} +3 -3
- package/dist/{chunk-R3MJKY63.js.map → chunk-YGSPIDE4.js.map} +1 -1
- package/dist/{chunk-7LKTIZLR.js → chunk-YR45POH2.js} +3 -3
- package/dist/{chunk-7LKTIZLR.js.map → chunk-YR45POH2.js.map} +1 -1
- package/dist/components/AlertDialog/index.cjs +6 -6
- package/dist/components/AlertDialog/index.js +2 -2
- package/dist/components/EmailEditor/index.cjs +12 -12
- package/dist/components/EmailEditor/index.js +3 -3
- package/dist/components/KeyboardShortcutsOverlay/index.cjs +4 -4
- package/dist/components/KeyboardShortcutsOverlay/index.js +2 -2
- package/dist/components/MediaEditor/index.cjs +7 -7
- package/dist/components/MediaEditor/index.js +2 -2
- package/dist/components/MediaFeed/index.cjs +3 -3
- package/dist/components/MediaFeed/index.js +2 -2
- package/dist/components/Modal/index.cjs +9 -9
- package/dist/components/Modal/index.js +1 -1
- package/dist/components/RichTextEditor/index.cjs +4 -4
- package/dist/components/RichTextEditor/index.js +1 -1
- package/dist/components/SuperChat/index.cjs +3 -3
- package/dist/components/SuperChat/index.js +2 -2
- package/dist/components/Textarea/index.cjs +5 -5
- package/dist/components/Textarea/index.js +2 -2
- package/dist/esheet.cjs +462 -1233
- package/dist/esheet.cjs.map +1 -1
- package/dist/esheet.d.cts +2 -2
- package/dist/esheet.d.ts +2 -2
- package/dist/esheet.js +375 -1146
- package/dist/esheet.js.map +1 -1
- package/dist/index.cjs +1011 -239
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +804 -17
- package/dist/index.js.map +1 -1
- package/dist/{model-NPW2JMHZ.cjs → model-EFXX5JZN.cjs} +18 -18
- package/dist/{model-NPW2JMHZ.cjs.map → model-EFXX5JZN.cjs.map} +1 -1
- package/dist/{model-SG5H3TCJ.js → model-TAARSYDY.js} +4 -4
- package/dist/{model-SG5H3TCJ.js.map → model-TAARSYDY.js.map} +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/dist/chunk-JCO62XMU.cjs.map +0 -1
- package/dist/chunk-KSQQBFDQ.js.map +0 -1
- package/dist/chunk-LC3JL2HB.cjs.map +0 -1
- package/dist/chunk-LJ4CCM3V.cjs.map +0 -1
- package/dist/chunk-PYAK7XXD.js.map +0 -1
- package/dist/chunk-TWQSMUE6.js.map +0 -1
- package/dist/chunk-WEGKY2LY.js.map +0 -1
- package/dist/chunk-X6HEWIYP.cjs.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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
114
|
-
export { AlertDialog, ConfirmDialogProvider, defaultAlertDialogLabels, useConfirm } from './chunk-
|
|
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';
|
|
@@ -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-
|
|
150
|
-
export { ALLERGY_TYPE_LABELS, AllergyList, AllergyManager, Assessment, CodeLookupProvider, ConditionEditor,
|
|
151
|
-
import { currentAssertion, CodingChips, toolbarKeyNav } from './chunk-
|
|
152
|
-
export { CHANGE_TYPE_LABELS, CONCERN_STATUS_LABELS, CodingChips, ProblemList, RowActionToolbar, RowIconButton, UncertaintyBadge, concernGroupKey, concernHistoryContent, currentAssertion, toolbarKeyNav } from './chunk-
|
|
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-
|
|
164
|
-
export { TextAreaRich as RichTextArea, TextAreaPlain, TextAreaRich, Textarea, htmlToPlain, plainToHtml, textareaVariants } from './chunk-
|
|
165
|
-
export { MacroLibrary, RichTextEditor, convertAngleBracketsToMustache, processDictation } from './chunk-
|
|
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-
|
|
178
|
-
export { Modal, ModalBody, ModalClose, ModalFooter, ModalHeader, ModalTitle, modalContentVariants, modalOverlayVariants } from './chunk-
|
|
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';
|
|
@@ -221,7 +221,7 @@ import * as React13 from 'react';
|
|
|
221
221
|
import React13__default, { createContext, useState, useEffect, useCallback, useMemo, useContext, useRef, useId } from 'react';
|
|
222
222
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
223
223
|
import { cva } from 'class-variance-authority';
|
|
224
|
-
import { AudioWaveform, Play, Pause, FileUp, X, AlertCircle, VolumeX, Volume2, Minimize2, Maximize2, ZoomOut, ZoomIn, LocateFixed, Search,
|
|
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';
|
|
225
225
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
226
226
|
import * as ReactDOM from 'react-dom';
|
|
227
227
|
import { createPortal } from 'react-dom';
|
|
@@ -15421,6 +15421,793 @@ var DashboardWidgetDataCards = React13.forwardRef(({ className, items, columns =
|
|
|
15421
15421
|
);
|
|
15422
15422
|
});
|
|
15423
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
|
+
}
|
|
15424
16211
|
function DropZone({
|
|
15425
16212
|
onFilesSelected,
|
|
15426
16213
|
acceptedFileTypes,
|
|
@@ -42960,6 +43747,6 @@ function WebsiteInputGroup({
|
|
|
42960
43747
|
}
|
|
42961
43748
|
WebsiteInputGroup.displayName = "WebsiteInputGroup";
|
|
42962
43749
|
|
|
42963
|
-
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 };
|
|
42964
43751
|
//# sourceMappingURL=index.js.map
|
|
42965
43752
|
//# sourceMappingURL=index.js.map
|