@mieweb/ui 0.10.0-dev.40 → 0.10.0-dev.41
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/index.cjs +64 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -3
- package/dist/index.d.ts +12 -3
- package/dist/index.js +66 -48
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -169,7 +169,7 @@ export { Modal, ModalBody, ModalClose, ModalFooter, ModalHeader, ModalTitle, mod
|
|
|
169
169
|
import './chunk-6NZXWKUE.js';
|
|
170
170
|
import { Input, inputVariants } from './chunk-3IMM2PM4.js';
|
|
171
171
|
export { Input, RequiredMark, floatingGroupLabelVariants, floatingGroupVariants, floatingLabelVariants, inputVariants } from './chunk-3IMM2PM4.js';
|
|
172
|
-
import { useDragReorder,
|
|
172
|
+
import { useDragReorder, reorderIds, dragIndicatorClasses } from './chunk-YUMOM3KE.js';
|
|
173
173
|
export { DEFAULT_DRAG_REORDER_LABELS, dragIndicatorClasses, moveIdBy, reorderIds, useDragReorder } from './chunk-YUMOM3KE.js';
|
|
174
174
|
import { useLiveAnnouncement } from './chunk-HNXLLDPN.js';
|
|
175
175
|
export { useLiveAnnouncement } from './chunk-HNXLLDPN.js';
|
|
@@ -185,7 +185,7 @@ import { dateToDisplayFormat, isValidDate, displayFormatToDateString } from './c
|
|
|
185
185
|
export { calculateAge, dateToDisplayFormat, displayFormatToDateString, formatDateValue, isDateEmpty, isDateInFuture, isDateInPast, isValidDate, isValidDrivingAge, parseDateValue } from './chunk-RC2YMOMS.js';
|
|
186
186
|
import { isStorybookDocsMode } from './chunk-VSQF22GL.js';
|
|
187
187
|
export { isStorybookDocsMode } from './chunk-VSQF22GL.js';
|
|
188
|
-
import { Plus,
|
|
188
|
+
import { Plus, RefreshCw, Pencil, GripVertical, Trash2, AlertCircle, ArrowLeft, Users, FilePlus, CheckCircle, ChevronDown, Clock, FileText, ClipboardList, Stethoscope, Mail, Phone, ClipboardCheck, Eye, Info, Link, ChevronUp, History, StickyNote, ExternalLink, MoreVertical, Send, Scan, TestTube2, Pill, Share, User, Download, ChevronRight, Calendar, Printer, ClipboardPlus, FileCheck, Wheat, Bell, FileHeart, HeartPulse, Paperclip, HelpCircle, MoreHorizontal, AlertTriangle, Upload as Upload$1, Camera, Check as Check$1, X as X$1, ScanLine, Image } from './chunk-BKSPDTX4.js';
|
|
189
189
|
export { Accessibility as AccessibilityIcon, Activity as ActivityIcon, AlertCircle as AlertCircleIcon, AlertTriangle as AlertTriangleIcon, Wheat as AllergyIcon, WheatOff as AllergyOffIcon, Ambulance as AmbulanceIcon, ArrowLeft as ArrowLeftIcon, ArrowRight as ArrowRightIcon, ArrowUpDown as ArrowUpDownIcon, ArrowUp as ArrowUpIcon, AtSign as AtSignIcon, Baby as BabyIcon, BadgeAlert as BadgeAlertIcon, BadgeCheck as BadgeCheckIcon, BadgeMinus as BadgeMinusIcon, BadgePlus as BadgePlusIcon, BadgeX as BadgeXIcon, Ban as BanIcon, Bandage as BandageIcon, BedDouble as BedDoubleIcon, Bed as BedIcon, BedSingle as BedSingleIcon, Bell as BellIcon, BellOff as BellOffIcon, Biohazard as BiohazardIcon, Bone as BoneIcon, BookOpenCheck as BookOpenCheckIcon, BookOpen as BookOpenIcon, Bookmark as BookmarkIcon, Bot as BotIcon, Brain as BrainIcon, Briefcase as BriefcaseIcon, BriefcaseMedical as BriefcaseMedicalIcon, Building as BuildingIcon, CalendarCheck as CalendarCheckIcon, Calendar as CalendarIcon, Camera as CameraIcon, Cannabis as CannabisIcon, BarChart3 as ChartIcon, CheckCircle as CheckCircleIcon, Check as CheckIcon, ChevronDown as ChevronDownIcon, ChevronLeft as ChevronLeftIcon, ChevronRight as ChevronRightIcon, ChevronUp as ChevronUpIcon, Cigarette as CigaretteIcon, CigaretteOff as CigaretteOffIcon, CircleDotDashed as CircleDotDashedIcon, CircleDot as CircleDotIcon, CircleUser as CircleUserIcon, ClipboardCheck as ClipboardCheckIcon, Clipboard as ClipboardIcon, ClipboardList as ClipboardListIcon, ClipboardPlus as ClipboardPlusIcon, Clock as ClockIcon, Cog as CogIcon, Columns as ColumnsIcon, Copy as CopyIcon, CreditCard as CreditCardIcon, Cross as CrossIcon, Dna as DnaIcon, DollarSign as DollarSignIcon, Download as DownloadIcon, Droplet as DropletIcon, Droplets as DropletsIcon, Ear as EarIcon, ExternalLink as ExternalLinkIcon, Eye as EyeIcon, EyeOff as EyeOffIcon, FileCheck2 as FileCheck2Icon, FileCheck as FileCheckIcon, FileHeart as FileHeartIcon, File as FileIcon, FilePlus2 as FilePlus2Icon, FilePlus as FilePlusIcon, FileText as FileTextIcon, Filter as FilterIcon, Fingerprint as FingerprintIcon, Flag as FlagIcon, FlaskConical as FlaskIcon, FlaskRound as FlaskRoundIcon, Folder as FolderIcon, FolderOpen as FolderOpenIcon, Footprints as FootprintsIcon, Glasses as GlassesIcon, Globe as GlobeIcon, LayoutGrid as GridIcon, GripVertical as GripVerticalIcon, Hand as HandIcon, HandMetal as HandMetalIcon, Hash as HashIcon, Heart as HeartIcon, HeartOff as HeartOffIcon, HeartPulse as HeartPulseIcon, HelpCircle as HelpCircleIcon, History as HistoryIcon, Home as HomeIcon, Hospital as HospitalIcon, Image as ImageIcon, Info as InfoIcon, Key as KeyIcon, Link as LinkIcon, List as ListIcon, Loader2 as LoaderIcon, Lock as LockIcon, LogIn as LogInIcon, LogOut as LogOutIcon, Mail as MailIcon, MapPin as MapPinIcon, Maximize as MaximizeIcon, Menu as MenuIcon, MessageSquare as MessageIcon, Mic as MicIcon, Microscope as MicroscopeIcon, Minimize as MinimizeIcon, Minus as MinusIcon, Monitor as MonitorIcon, Moon as MoonIcon, MoreHorizontal as MoreHorizontalIcon, MoreVertical as MoreVerticalIcon, NotebookPen as NotebookPenIcon, Palette as PaletteIcon, Paperclip as PaperclipIcon, CircleUserRound as PatientIcon, Pencil as PencilIcon, UserRound as PersonIcon, Phone as PhoneIcon, PieChart as PieChartIcon, Pill as PillIcon, Plus as PlusIcon, Printer as PrinterIcon, Radiation as RadiationIcon, Ruler as RulerIcon, Save as SaveIcon, Scale as ScaleIcon, Scaling as ScalingIcon, ScanEye as ScanEyeIcon, Scan as ScanIcon, ScanLine as ScanLineIcon, Search as SearchIcon, Settings as SettingsIcon, Share as ShareIcon, ShieldCheck as ShieldCheckIcon, Shield as ShieldIcon, ShieldPlus as ShieldPlusIcon, Sliders as SlidersIcon, Sparkle as SparkleIcon, Star as StarIcon, Stethoscope as StethoscopeIcon, StickyNote as StickyNoteIcon, Square as StopIcon, Sun as SunIcon, Syringe as SyringeIcon, Table as TableIcon, Tablets as TabletsIcon, Tag as TagIcon, TestTube2 as TestTubeIcon, TestTubes as TestTubesIcon, Thermometer as ThermometerIcon, ThermometerSun as ThermometerSunIcon, ThumbsDown as ThumbsDownIcon, ThumbsUp as ThumbsUpIcon, Timer as TimerIcon, Trash2 as TrashIcon, TrendingDown as TrendingDownIcon, TrendingUp as TrendingUpIcon, Truck as TruckIcon, Unlock as UnlockIcon, Upload as UploadIcon, UserCheck as UserCheckIcon, User as UserIcon, UserMinus as UserMinusIcon, UserPlus as UserPlusIcon, UserRoundCheck as UserRoundCheckIcon, UserRoundMinus as UserRoundMinusIcon, UserRoundPlus as UserRoundPlusIcon, UserRoundX as UserRoundXIcon, Users as UsersIcon, Weight as WeightIcon, Wrench as WrenchIcon, XCircle as XCircleIcon, X2 as XIcon, Zap as ZapIcon } from './chunk-BKSPDTX4.js';
|
|
190
190
|
import { usePrefersReducedMotion } from './chunk-XDU65GLW.js';
|
|
191
191
|
export { usePrefersReducedMotion } from './chunk-XDU65GLW.js';
|
|
@@ -8299,6 +8299,13 @@ var Assessment = React13.forwardRef(
|
|
|
8299
8299
|
showPlan = true,
|
|
8300
8300
|
onShowPlanChange,
|
|
8301
8301
|
onAction,
|
|
8302
|
+
rowActions = [
|
|
8303
|
+
...Object.keys(ACTION_META2),
|
|
8304
|
+
"remove",
|
|
8305
|
+
"move"
|
|
8306
|
+
],
|
|
8307
|
+
orderActions = ["edit", "remove", "move"],
|
|
8308
|
+
addModes,
|
|
8302
8309
|
onRemoveAssessment,
|
|
8303
8310
|
onAddOrder,
|
|
8304
8311
|
onAddAssessment,
|
|
@@ -8318,12 +8325,25 @@ var Assessment = React13.forwardRef(
|
|
|
8318
8325
|
}, ref) => {
|
|
8319
8326
|
const instanceId = React13.useId();
|
|
8320
8327
|
const [addingFor, setAddingFor] = React13.useState(null);
|
|
8321
|
-
const
|
|
8322
|
-
|
|
8323
|
-
|
|
8328
|
+
const requestedAddModes = addModes ?? [
|
|
8329
|
+
"auto",
|
|
8330
|
+
"problem",
|
|
8331
|
+
"order"
|
|
8332
|
+
];
|
|
8333
|
+
const availableAddModes = requestedAddModes.filter((mode) => {
|
|
8334
|
+
if (mode === "problem") return Boolean(onAddAssessment);
|
|
8335
|
+
if (mode === "order") return Boolean(onAddOrder);
|
|
8336
|
+
return Boolean(onAddAssessment && onAddOrder);
|
|
8337
|
+
});
|
|
8338
|
+
const initialAddMode = availableAddModes.includes(defaultAddMode) ? defaultAddMode : availableAddModes[0] ?? defaultAddMode;
|
|
8339
|
+
const [selectedAddMode, setSelectedAddMode] = React13.useState(initialAddMode);
|
|
8340
|
+
const addMode = availableAddModes.includes(selectedAddMode) ? selectedAddMode : availableAddModes[0] ?? defaultAddMode;
|
|
8324
8341
|
const [pendingFreeText, setPendingFreeText] = React13.useState(
|
|
8325
8342
|
null
|
|
8326
8343
|
);
|
|
8344
|
+
React13.useEffect(() => {
|
|
8345
|
+
if (addMode !== "auto") setPendingFreeText(null);
|
|
8346
|
+
}, [addMode]);
|
|
8327
8347
|
const [announcement, setAnnouncement] = useLiveAnnouncement();
|
|
8328
8348
|
const ambientCodeLookup = useCodeLookupConfig();
|
|
8329
8349
|
const effectiveRenderOrderSearch = renderOrderSearch === false ? void 0 : renderOrderSearch ?? (ambientCodeLookup ? contextOrderSearch(ambientCodeLookup) : void 0);
|
|
@@ -8335,9 +8355,13 @@ var Assessment = React13.forwardRef(
|
|
|
8335
8355
|
const unlinkedOrders = orders.filter(
|
|
8336
8356
|
(o) => !o.concernId || !items.some((i) => i.concernId === o.concernId)
|
|
8337
8357
|
);
|
|
8358
|
+
const toolbarActions = rowActions.filter(
|
|
8359
|
+
(action) => action in ACTION_META2 && (action === "add-order" ? Boolean(onAddOrder || onAction) : Boolean(onAction))
|
|
8360
|
+
);
|
|
8361
|
+
const showConcernToolbar = toolbarActions.length > 0 || rowActions.includes("remove") && Boolean(onRemoveAssessment);
|
|
8338
8362
|
const drag = useDragReorder({
|
|
8339
8363
|
ids: items.map((i) => i.concernId),
|
|
8340
|
-
onReorder: readOnly || !onReorderItems ? void 0 : (ids) => {
|
|
8364
|
+
onReorder: readOnly || !rowActions.includes("move") || !onReorderItems ? void 0 : (ids) => {
|
|
8341
8365
|
setAnnouncement("Assessment concerns reordered");
|
|
8342
8366
|
onReorderItems(ids);
|
|
8343
8367
|
}
|
|
@@ -8351,7 +8375,7 @@ var Assessment = React13.forwardRef(
|
|
|
8351
8375
|
[concernById, items]
|
|
8352
8376
|
);
|
|
8353
8377
|
const orderControls = readOnly ? void 0 : {
|
|
8354
|
-
moveWithin: onReorderOrders ? (order, dir) => {
|
|
8378
|
+
moveWithin: orderActions.includes("move") && onReorderOrders ? (order, dir) => {
|
|
8355
8379
|
const planIds = orders.filter((o) => o.concernId === order.concernId).map((o) => o.orderId);
|
|
8356
8380
|
const i = planIds.indexOf(order.orderId);
|
|
8357
8381
|
const target = planIds[i + dir];
|
|
@@ -8368,18 +8392,18 @@ var Assessment = React13.forwardRef(
|
|
|
8368
8392
|
`${order.display} moved ${dir === -1 ? "up" : "down"}`
|
|
8369
8393
|
);
|
|
8370
8394
|
} : void 0,
|
|
8371
|
-
moveToProblem: onLinkOrder ? (order, concernId) => {
|
|
8395
|
+
moveToProblem: orderActions.includes("move") && onLinkOrder ? (order, concernId) => {
|
|
8372
8396
|
onLinkOrder(order, concernId);
|
|
8373
8397
|
setAnnouncement(
|
|
8374
8398
|
`${order.display} moved to ${problemLabel(concernId)}`
|
|
8375
8399
|
);
|
|
8376
8400
|
} : void 0,
|
|
8377
|
-
edit: onEditOrder ? (order, changes) => {
|
|
8401
|
+
edit: orderActions.includes("edit") && onEditOrder ? (order, changes) => {
|
|
8378
8402
|
onEditOrder(order, changes);
|
|
8379
8403
|
setAnnouncement(`${changes.display} updated`);
|
|
8380
8404
|
} : void 0,
|
|
8381
|
-
editStart: onEditOrderStart,
|
|
8382
|
-
remove: onRemoveOrder ? (order) => {
|
|
8405
|
+
editStart: orderActions.includes("edit") ? onEditOrderStart : void 0,
|
|
8406
|
+
remove: orderActions.includes("remove") && onRemoveOrder ? (order) => {
|
|
8383
8407
|
onRemoveOrder(order);
|
|
8384
8408
|
setAnnouncement(`${order.display} removed`);
|
|
8385
8409
|
} : void 0,
|
|
@@ -8393,7 +8417,7 @@ var Assessment = React13.forwardRef(
|
|
|
8393
8417
|
label: problemLabel(it.concernId)
|
|
8394
8418
|
}))
|
|
8395
8419
|
};
|
|
8396
|
-
const orderDragEnabled = !readOnly && Boolean(onReorderOrders || onLinkOrder);
|
|
8420
|
+
const orderDragEnabled = !readOnly && orderActions.includes("move") && Boolean(onReorderOrders || onLinkOrder);
|
|
8397
8421
|
const [draggingOrderId, setDraggingOrderId] = React13.useState(
|
|
8398
8422
|
null
|
|
8399
8423
|
);
|
|
@@ -8578,7 +8602,7 @@ var Assessment = React13.forwardRef(
|
|
|
8578
8602
|
/* @__PURE__ */ jsx("span", { className: "text-foreground font-medium", children: assertion.text }),
|
|
8579
8603
|
assertion.verificationStatus !== "confirmed" && /* @__PURE__ */ jsx(Badge, { variant: "warning", size: "sm", children: assertion.verificationStatus }),
|
|
8580
8604
|
/* @__PURE__ */ jsx(CodingChips, { coding: assertion.coding }),
|
|
8581
|
-
!readOnly &&
|
|
8605
|
+
!readOnly && showConcernToolbar && /* @__PURE__ */ jsxs(
|
|
8582
8606
|
RowActionToolbar,
|
|
8583
8607
|
{
|
|
8584
8608
|
label: `Actions for ${assertion.text}`,
|
|
@@ -8590,36 +8614,30 @@ var Assessment = React13.forwardRef(
|
|
|
8590
8614
|
"pointer-fine:group-has-[[data-order-id]:focus-within]:opacity-0"
|
|
8591
8615
|
),
|
|
8592
8616
|
children: [
|
|
8593
|
-
|
|
8594
|
-
|
|
8595
|
-
|
|
8596
|
-
|
|
8597
|
-
|
|
8598
|
-
|
|
8599
|
-
|
|
8600
|
-
|
|
8601
|
-
|
|
8602
|
-
|
|
8603
|
-
|
|
8604
|
-
|
|
8605
|
-
|
|
8606
|
-
|
|
8607
|
-
|
|
8608
|
-
|
|
8609
|
-
|
|
8610
|
-
setAddingFor(
|
|
8611
|
-
(prev) => prev === item.concernId ? null : item.concernId
|
|
8612
|
-
);
|
|
8613
|
-
} else {
|
|
8614
|
-
onAction?.(item, action);
|
|
8615
|
-
}
|
|
8617
|
+
toolbarActions.map((action) => {
|
|
8618
|
+
const meta = ACTION_META2[action];
|
|
8619
|
+
return /* @__PURE__ */ jsx(
|
|
8620
|
+
RowIconButton,
|
|
8621
|
+
{
|
|
8622
|
+
label: meta.label,
|
|
8623
|
+
icon: meta.icon,
|
|
8624
|
+
size: "sm",
|
|
8625
|
+
expanded: action === "add-order" && onAddOrder ? addingFor === item.concernId : void 0,
|
|
8626
|
+
controls: action === "add-order" && onAddOrder ? addOrderFormId : void 0,
|
|
8627
|
+
onClick: () => {
|
|
8628
|
+
if (action === "add-order" && onAddOrder) {
|
|
8629
|
+
setAddingFor(
|
|
8630
|
+
(prev) => prev === item.concernId ? null : item.concernId
|
|
8631
|
+
);
|
|
8632
|
+
} else {
|
|
8633
|
+
onAction?.(item, action);
|
|
8616
8634
|
}
|
|
8617
|
-
}
|
|
8618
|
-
|
|
8619
|
-
|
|
8620
|
-
|
|
8621
|
-
),
|
|
8622
|
-
onRemoveAssessment && /* @__PURE__ */ jsx(
|
|
8635
|
+
}
|
|
8636
|
+
},
|
|
8637
|
+
action
|
|
8638
|
+
);
|
|
8639
|
+
}),
|
|
8640
|
+
rowActions.includes("remove") && onRemoveAssessment && /* @__PURE__ */ jsx(
|
|
8623
8641
|
RowIconButton,
|
|
8624
8642
|
{
|
|
8625
8643
|
label: `Remove ${assertion.text} from assessment`,
|
|
@@ -8677,7 +8695,7 @@ var Assessment = React13.forwardRef(
|
|
|
8677
8695
|
item.concernId
|
|
8678
8696
|
);
|
|
8679
8697
|
}) }),
|
|
8680
|
-
!readOnly && effectiveRenderOrderSearch && (onAddAssessment || onAddOrder) && /* @__PURE__ */ jsxs(
|
|
8698
|
+
!readOnly && availableAddModes.length > 0 && effectiveRenderOrderSearch && (onAddAssessment || onAddOrder) && /* @__PURE__ */ jsxs(
|
|
8681
8699
|
"div",
|
|
8682
8700
|
{
|
|
8683
8701
|
role: "form",
|
|
@@ -8691,7 +8709,7 @@ var Assessment = React13.forwardRef(
|
|
|
8691
8709
|
"data-slot": "select-trigger",
|
|
8692
8710
|
value: addMode,
|
|
8693
8711
|
onChange: (e) => {
|
|
8694
|
-
|
|
8712
|
+
setSelectedAddMode(e.target.value);
|
|
8695
8713
|
setPendingFreeText(null);
|
|
8696
8714
|
},
|
|
8697
8715
|
className: cn(
|
|
@@ -8699,9 +8717,9 @@ var Assessment = React13.forwardRef(
|
|
|
8699
8717
|
"focus:ring-ring focus:ring-2 focus:outline-none"
|
|
8700
8718
|
),
|
|
8701
8719
|
children: [
|
|
8702
|
-
/* @__PURE__ */ jsx("option", { value: "auto", children: "Add (auto)" }),
|
|
8703
|
-
onAddAssessment && /* @__PURE__ */ jsx("option", { value: "problem", children: "Add concern" }),
|
|
8704
|
-
onAddOrder && /* @__PURE__ */ jsx("option", { value: "order", children: "Add order" })
|
|
8720
|
+
availableAddModes.includes("auto") && /* @__PURE__ */ jsx("option", { value: "auto", children: "Add (auto)" }),
|
|
8721
|
+
availableAddModes.includes("problem") && onAddAssessment && /* @__PURE__ */ jsx("option", { value: "problem", children: "Add concern" }),
|
|
8722
|
+
availableAddModes.includes("order") && onAddOrder && /* @__PURE__ */ jsx("option", { value: "order", children: "Add order" })
|
|
8705
8723
|
]
|
|
8706
8724
|
}
|
|
8707
8725
|
),
|
|
@@ -8753,7 +8771,7 @@ var Assessment = React13.forwardRef(
|
|
|
8753
8771
|
}
|
|
8754
8772
|
}
|
|
8755
8773
|
}) }),
|
|
8756
|
-
pendingFreeText !== null && /* @__PURE__ */ jsxs(
|
|
8774
|
+
addMode === "auto" && pendingFreeText !== null && /* @__PURE__ */ jsxs(
|
|
8757
8775
|
"div",
|
|
8758
8776
|
{
|
|
8759
8777
|
role: "group",
|